我真的需要语法方面的帮助。
我有输入字段:
<input class="email__field ng-pristine ng-empty ng-valid-email ng-invalid ng-invalid-required ng-touched" name="email" ng-model="authForm.email" ng-keypress="keypress($event);" ng-disabled="false" focused="true" required="" style="" type="email">
根据文件:http://devdocs.io/codeceptjs/helpers/seleniumwebdriver/index#fillfield
I.fillField('email', 'hello@world.com');
应按名称定位元素。 但测试失败并显示错误消息: “字段电子邮件找不到名称|文本| CSS | XPath”
语法错误或者webdriver可能有问题吗? 例如。 上一个命令/步骤是:
I.amOnPage(some url here);
它正在运行,所以我认为webdriver应该没问题。
答案 0 :(得分:1)
您使用的语法是正确的。找到元素可能会有一些问题。
尝试通过以下方式调试问题,
1)添加等待 - &gt; I.等待(#); #am; I.amOnPage&#34;和&#34; I.fillField&#34;
2)尝试点击元素&#39;电子邮件&#39;然后填写字段I.click(&#39; //输入[@name =&#39; email&#39;]&#39;); I.fillField(&#39; email&#39;);
3)尝试为fillField传递一个xpath,可能还有另一个被禁用的元素。例如:I.fillField(&#39; //输入[@ ng-model =&#34; authForm.email&#34;] [@ name =&#39; email&#39;]&#39;)
另外请确保元素不在iframe内,如果它意味着您需要先切换到框架然后再执行操作