在量角器中,基本上有3种方法可以检查元素是否存在:
var elm = element(by.id("myid"));
browser.isElementPresent(elm);
elm.isPresent();
elm.isElementPresent();
这些选项是否等效且可互换,通常应首选哪一种?
所有功能都以相似的方式存在细微的差异。这是我发现的一些差异-
elm.isPresent()
--
ElementFinder
因此在执行任何操作之前等待Angular解决。elm
is和element(locator)
or ElementFinder
not 时起作用ElementArrayFinder
。如果使用locator
指定的元素返回了多个元素,则检查第一个元素是否isEnabled()
在DOM中。不接受任何参数作为输入。elm.isElementPresent(subLoc)
-(当有子定位符时elm
)
ElementFinder
因此在执行任何操作之前等待Angular解决。sub locator
父级elm
为参数。(仅与此和之间的区别elm.isPresent()
)browser.isElementPresent(element || Locator)
--
webdriver
因此不等待角度稳定下来。locator
或an element
作为参数并使用第一个结果。上面所有这些检查DOM中元素的存在并返回boolean
结果。虽然角度和非角度特征不会影响这些方法的使用,但是当该方法默认等待角度建立时,还有一个附加的优势,即在找不到像角度的元素或状态元素引用异常的情况下,有助于避免错误,等等…
问题内容: 根据文档,有两种方法可以获取(调用结果)内部有多少个元素: ,记录在这里: …该数组等于由找到的元素的,每个结果代表对该元素执行操作的结果。 ,记录在这里: 计算表示的元素数量。 这两种方法有什么区别,应首选哪一种? 问题答案: 需要解决诺言以正确获取元素的长度。 一个包装器,它本身就是一个承诺,不需要解决承诺,例如 哪一个应该是首选? 除非在进行定位和参与时有一些复杂的业务,否则它将
问题内容: 我正在尝试使用 selenium* 选择包裹在 angular 1中 的textarea ,但是在DOM中看不到。有一个名为Pytractor的模块。我一直在尝试解决此问题,但是我无法正确使用它。 * 谁能帮我这个? 问题答案: 您还可以使用常规的硒绑定来测试AngularJS应用程序。您将需要使用“ 显式等待”来等待元素的出现,消失,标题/ URL的更改等-用于使您能够继续测试页面的
运行protactor时,出现以下错误:
我试图遵循量角器官方网站上的量角器教程,但我甚至无法完成步骤0。 我在用量角器 之后,我一直在遵循教程的第0步。我有配置。js文件和test-spec.js文件如下: 配置js公司 测试规范js 当我运行protector
问题内容: 我希望能够使用Protractor测试我的Angular应用程序。由于我使用RequireJS,因此无法在DOM中使用指令,这就是为什么我使用手动引导Angular的原因。 量角器输出如下错误输出: 错误:在页面上找不到Angular :重试以寻找超出的角度 然后,我意识到量角器文档中有一个警告: 对于使用angular.bootstrap手动引导的应用,Protractor不能立即使
我试图在量角器测试用例中设置一个cookie。我们使用量角器3.3.0,Angular 1.5.x和Node.js 6.9.1 这是规格: 编辑: 我做了一些进一步的实验。请注意,我已经更改了域,并且在成功读取/写入cookie之前没有。 这是我得到的输出: 编辑4: 越来越近了!将域设置为(注意开头的点(.))似乎有效。会做进一步调查并报告。与此同时,如果有人能告诉我为什么这个点是重要的,以及为