javascript - 使用量角器测试非角度页面无法单击链接元素
问题描述
我正在尝试访问非角度页面,例如 google.com,然后单击该页面上的链接。我正在使用带有黄瓜插件的量角器。我的黄瓜功能如下所示:
Feature: Google
Scenario: Google test
Given I visit google
When I click the link
Then result
步骤定义如下所示:
Given('I visit google', function(callback) {
browser.driver.get('https://www.google.com')
.then(callback);
});
When('I click the link', function() {
browser.driver.findElement(by.linkText('Images')).click();
});
Then('result', function() {
});
运行量角器时,页面打开,但未单击链接(未加载 Google 图片搜索)
如何让点击的链接重定向到谷歌图片搜索?
解决方案
click() 的末尾有一个额外的大括号;此外,由于量角器脚本是异步的,因此可能会发生单击,因为它们执行得更快。给一些睡眠和检查,这仅用于测试目的,因为 ExpectedConditions 用于显式等待:
如下更新代码段并试一试:
When('I click the link', function() {
browser.wait(EC.visibilityOf(element(by.linkText("Images"))).then(()=>{
browser.driver.findElement(by.linkText('Images')).click();
browser.sleep(3000);
});
});
干杯!
推荐阅读
- jsp - 如何将jsp的变量值传递给urls.py?
- c# - 有没有其他方法可以在不使用 Context 的情况下在 SpecFlow C# 中获取功能名称?
- javascript - 猫头鹰轮播上的导航按钮会影响其他滑块
- wordpress - Cloudflare 阻止 wordpress load-scripts.php 长网址
- python - 创建一个多项式类,当调用该类时,它以文本形式返回多项式方程
- amazon-web-services - 无法删除 aws eks 集群中的 VPC
- python - 在交互式 ssh 模式下调用进程内的多个命令
- jasmine - 将 Angular 从 5 更新到 7,并尝试使用命令 ng test 运行测试。在此之后我得到“没有找到规范”
- python - django 数据库连接中的操作错误
- php - 我在 cpanel 中编写此代码然后运行网站,但无法访问该网站