标签: webdriver-io

Webdriverjs - By 未定义

我正在使用 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

javascript phantomjs webdriver-io

2
推荐指数
1
解决办法
1万
查看次数

WebDriverIO:browser.pause不起作用

我在量角器中使用 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)

webdriver-io

2
推荐指数
1
解决办法
9062
查看次数

如何使用 webdriver-io 查找与多个 data- 属性匹配的元素?

$ 或 findElement 的 webdriverio 文档不是那么广泛,我习惯了其他 e2e 工具,因此很混乱,要找到一个具有这两个属性的元素,我想实现类似的效果:

const element = $('[title="HOW TO USE?", data-text="HOW TO USE?"]');
Run Code Online (Sandbox Code Playgroud)

这是正确的语法吗?

WEBDRIVERIO 版本:5.6.6

webdriver-io e2e-testing

2
推荐指数
1
解决办法
916
查看次数

Allure 报告生成失败,并显示消息“allure”未被识别为 cmdlet、函数的名称..”

我正在使用 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)

导致此失败的原因可能是什么以及如何处理?

mocha.js allure webdriver-io reporters

2
推荐指数
1
解决办法
2万
查看次数

如何使用Selenium和Node.JS驱动Firefox滚动到元素?

我正在尝试滚动到页面上的链接元素并单击它.以下解决方案适用于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)

javascript selenium node.js selenium-webdriver webdriver-io

1
推荐指数
1
解决办法
7160
查看次数

使用 Webdriver.IO 按类选择元素

我使用来自 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

html javascript selenium-webdriver webdriver-io

1
推荐指数
1
解决办法
2568
查看次数

WebdriverIO:点 ('.') 未被识别为内部或外部命令

我在配置 WebdriverIO测试运行程序时遇到了这个错误:

'.' 不被识别为内部或外部命令

WebdriverIO 站点上给出的命令是:./node_modules/.bin/wdio --help,但运行它会cmd显示前面提到的错误。

我怎样才能解决这个问题?

cmd node.js npm webdriver-io

1
推荐指数
1
解决办法
4243
查看次数

chromedriver无法正常工作并出现错误:在webdriverio框架工作中连接ECONNREFUSED 127.0.0.1:4444

我正在使用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

1
推荐指数
1
解决办法
2492
查看次数

如何使用 WebdriverIO (wdio) 获取元素出现的次数?

我正在尝试使用 WebdriverIO (wdio) 对我的 javascript 代码进行交互测试。

我想通过检查选择器在删除函数之前和之后出现的次数并查看它是否减一来测试删除节点功能。

如何使用 wdio 查找选择器在页面上出现的次数?

javascript selenium-webdriver webdriver-io

1
推荐指数
1
解决办法
4321
查看次数

从功能文件导航到步骤定义:任何插件

在 Visual Studio Cod 中,如何从功能导航到步骤定义。我们是否需要任何额外的插件或需要添加任何配置。我已经下载了 Cucumber (Gherkin) Full Support 插件,但仍然无法从 .feature 导航到步骤定义。

javascript selenium gherkin webdriver-io visual-studio-code

1
推荐指数
2
解决办法
7431
查看次数