我正在使用 webdriverjs 打开一个网站并通过其 id 选择一个元素。代码是,
var webdriverjs = require('webdriverjs'),
client = webdriverjs.remote({desiredCapabilities:{browserName:'phantomjs'}}).init();
client.url('www.google.com', function(err){
client.findElement(webdriverjs.By.id('lst-ib')).sendKeys('duck duck go\n')
})
Run Code Online (Sandbox Code Playgroud)
它会抛出错误,
webdriverjs.By is undefined
Run Code Online (Sandbox Code Playgroud)
如何By在 中使用函数webdriverjs?
我在量角器中使用 browser.sleep 将执行保持特定的时间。以类似的方式,我尝试了 WebDriverIO 中的 browser.pause 。但它不会暂停给定的时间。
即使对于浏览器暂停我参考了WebDriverIO官方文档,也给出了相同的内容
步骤定义代码:
Given(/^Verify the title of Salesforce web page$/,function(){
browser.url('https://login.salesforce.com/');
browser.pause(10000);
});
Run Code Online (Sandbox Code Playgroud)
我在配置中使用异步模式
WebDriverIO 版本:^5.22.4
wdio.config.js
exports.config = {
//
// ====================
// Runner Configuration
// ====================
//
// WebdriverIO allows it to run your tests in arbitrary locations (e.g. locally or
// on a remote machine).
runner: 'local',
//
// Override default path ('/wd/hub') for chromedriver service.
path: '/',
//
// ==================
// Specify Test Files
// ==================
// Define …Run Code Online (Sandbox Code Playgroud) $ 或 findElement 的 webdriverio 文档不是那么广泛,我习惯了其他 e2e 工具,因此很混乱,要找到一个具有这两个属性的元素,我想实现类似的效果:
const element = $('[title="HOW TO USE?", data-text="HOW TO USE?"]');
Run Code Online (Sandbox Code Playgroud)
这是正确的语法吗?
WEBDRIVERIO 版本:5.6.6
我正在使用 Allure 报告进行 WebDriverIO mocha 测试自动化。报告生成工作正常,但是,在运行“alluregenerateallure-result”命令时开始显示以下错误。
allure :术语“allure”不被识别为 cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。
行:1 字符:1
- 普遍魅力
- CategoryInfo : ObjectNotFound: (allure:String) [], CommandNotFoundException
- FullQualifiedErrorId:CommandNotFoundException```
这是我的 package.json devDependency
"devDependencies": {
"@wdio/allure-reporter": "^7.16.11",
"@wdio/cli": "^7.16.13",
"@wdio/local-runner": "^7.16.13",
"@wdio/mocha-framework": "^7.16.13",
"@wdio/spec-reporter": "^7.16.13",
"chromedriver": "^97.0.2",
"mocha-allure-reporter": "^1.4.0",
"wdio-chromedriver-service": "^7.2.6"
},
Run Code Online (Sandbox Code Playgroud)
导致此失败的原因可能是什么以及如何处理?
我正在尝试滚动到页面上的链接元素并单击它.以下解决方案适用于Chrome和IE,但不适用于Firefox.我怎么能解决这个问题?还有其他方法吗?
function clickByLinkTextScroll(text){
driver.findElement(By.linkText(text)).getLocation().then(function (location) {
driver.executeScript("window.scroll(0," + location.y + ");");
driver.sleep(300);
driver.findElement(By.linkText(text)).click();
});
};
Run Code Online (Sandbox Code Playgroud)
当我对Firefox运行时,我得到以下输出:
UnknownCommandError: GET /session/ad17a19d-782b-4706-b1d7-b56f0139b252/element/5c5e0c3d-1861-432c-b402-b6a010c2f268/location did not match a known command
at WebDriverError (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\error.js:27:5)
at UnknownCommandError (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\error.js:296:5)
at Object.throwDecodedError (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\error.js:477:11)
at parseHttpResponse (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\http.js:388:15)
at doSend.then.response (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\http.js:330:11)
at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: WebElement.getLocation()
at Driver.schedule (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\webdriver.js:414:17)
at WebElementPromise.schedule_ (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\webdriver.js:1823:25)
at WebElementPromise.getLocation (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\webdriver.js:2112:17)
at clickByLinkTextScroll (innovationCentralTests.js:694:43)
at Context.<anonymous> (innovationCentralTests.js:445:9)
at C:\ProgramData\npm\node_modules\selenium-webdriver\testing\index.js:153:19
at new ManagedPromise (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\promise.js:1017:7)
at controlFlowExecute (C:\ProgramData\npm\node_modules\selenium-webdriver\testing\index.js:138:14)
at TaskQueue.execute_ (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\promise.js:2731:14)
at TaskQueue.executeNext_ (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\promise.js:2714:21)
at asyncRun (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\promise.js:2631:25)
at …Run Code Online (Sandbox Code Playgroud) 我使用来自 Webdriver.io 的浏览器,并想js-add-board在这个星座中选择一个包含类(我想点击的按钮)的元素 :
<div id="content">
<div class="wrapper">
<div class="news-sidebar sidebar">
..
</div>
<ul class="board-list clearfix">
<li class="js-add-board">
<a class="board-list-item label" href="#">Add a new board</a>
</li>
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是从样式:
.board-list .js-add-board {
text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
我尝试的是:
browser.element('[js-add-board]');
Run Code Online (Sandbox Code Playgroud)
但它回来了undefined。
我在配置 WebdriverIO测试运行程序时遇到了这个错误:
'.' 不被识别为内部或外部命令
WebdriverIO 站点上给出的命令是:./node_modules/.bin/wdio --help,但运行它会cmd显示前面提到的错误。
我怎样才能解决这个问题?
我正在使用webdriverIO Mocha框架工作,我尝试了许多解决方案,但仍收到以下错误。所以帮我解决这个问题
[23:57:52]??COMMAND???? POST???? "/wd/hub/session" [23:57:52]??DATA????????????????{"desiredCapabilities":{"javascriptEnabled":true,"locationContextEnabled":true,"handlesAlerts":true,"rotatable":true,"browserName":"firefox","platform":"macOS
10.12","version":"latest","build":"MAC_CHROME","pageLoadStrategy":"normal","acceptSslCerts":true,"_":"2 more keys: [\"loggingPrefs\",\"requestOrigins\"]"}} ERROR: connect ECONNREFUSED 127.0.0.1:4444
Run Code Online (Sandbox Code Playgroud) selenium selenium-chromedriver selenium-webdriver webdriver-io
我正在尝试使用 WebdriverIO (wdio) 对我的 javascript 代码进行交互测试。
我想通过检查选择器在删除函数之前和之后出现的次数并查看它是否减一来测试删除节点功能。
如何使用 wdio 查找选择器在页面上出现的次数?
在 Visual Studio Cod 中,如何从功能导航到步骤定义。我们是否需要任何额外的插件或需要添加任何配置。我已经下载了 Cucumber (Gherkin) Full Support 插件,但仍然无法从 .feature 导航到步骤定义。
webdriver-io ×10
javascript ×5
selenium ×3
node.js ×2
allure ×1
cmd ×1
e2e-testing ×1
gherkin ×1
html ×1
mocha.js ×1
npm ×1
phantomjs ×1
reporters ×1