首页 > 解决方案 > 使用量角器测试非角度页面无法单击链接元素

问题描述

我正在尝试访问非角度页面,例如 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 图片搜索)

如何让点击的链接重定向到谷歌图片搜索?

标签: javascriptangulartestingprotractorcucumber

解决方案


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);
    });
});

干杯!


推荐阅读