automation - WebdriverIO Browser.click 语句给出的不是函数错误
问题描述
我对 WebDriverIO 框架相当陌生,我试图自动化以下场景:
const assert = require('assert');
describe('Second Test With WebDriverIO', () => {
it('Click the button for WebDriverIO Page', () => {
browser.url('http://www.kevinlamping.com/webdriverio-course-content/');
var title = browser.getTitle();
assert.strictEqual(title,'Robot Parts Emporium');
//browser.click('.shop-callout a');
$('.shop-callout a').click();
title = browser.getTitle();
assert.strictEqual(title,'Totally Not Evil Sentient Robot - Robot Parts Emporium');
});
});
但是,我收到一个错误提示"[chrome windows nt #0-0] browser.click is not a function"
但我使用它$('.shop-callout a').click();
而不是browser.click('.shop-callout a');
它一切正常。
const assert = require('assert');
describe('Second Test With WebDriverIO', () => {
it('Click the button for WebDriverIO Page', () => {
browser.url('http://www.kevinlamping.com/webdriverio-course-content/');
var title = browser.getTitle();
assert.strictEqual(title,'Robot Parts Emporium');
//browser.click('.shop-callout a');
$('.shop-callout a').click();
title = browser.getTitle();
assert.strictEqual(title,'Totally Not Evil Sentient Robot - Robot Parts Emporium');
});
});
任何帮助,将不胜感激。
解决方案
使用browser.elementClick(elementId)
, 而不是browser.click()
, 因为这是根据 webdriver 协议的正确方法名称。
见下文:-
https://w3c.github.io/webdriver/#element-click
$(selector).click()
是 webdriverio 提供的自定义方法,他们使用了与上述相同的方法。
推荐阅读
- google-apps-script - 如何限制用户编辑自己的输入?
- elasticsearch - 用于 ElasticSearch 的模拟 SQL LIKE 命令
- macos - Apple Script 从代码块中获取结果值
- openssl - 使用 Ansible 从 pem.cert 中提取 md5 哈希
- java - 如何在 Java 中修复/实现 equals 方法?
- javascript - 播放另一个视频时停止视频
- python - 带有正映射的线性回归
- c# - NopCommerce 开发过程中的插件问题
- css - 如何在其上方创建带有正确符号图标的时间线,并在完成步骤后填写
- php - 检索数组中的最小数值