gpt4 book ai didi

automated-tests - nightwatch.js/Saucelabs - click() 不起作用 [在 上运行 .click() 命令时发生错误]

转载 作者:行者123 更新时间:2023-12-02 03:14:38 25 4
gpt4 key购买 nike

我一直在尝试使用 Nightwatch.js + Saucelabs 为 React 应用程序运行 e2e 测试用例,但在执行 .click() 方法时遇到以下错误。

错误:在以下位置运行 .click() 命令时出错:{"status":-1,"state":"","value":"{\"value\": {\"stacktrace\":\"Backtrace:\n\tOrdinal0 [0x00E07DF3+1474035]\n\tOrdinal0 [0x00D807D1+919505]\n\tOrdinal0 [0x00D1CB43+510787]\n\tOrdinal0 [0x00CCDB60+187232]\n\tOrdinal0 [0x00CCD9B5 +186805]\n\tOrdinal0 [ 0x00CA1BAB+7083]\n\tOrdinal0 [0x00CA2126+8486]\n\tOrdinal0 [0x00CA2F00+12032]\n\tGetHandleVerifier [0x00F6231C+1249612]\n\tGetHandleVerifier [0x00EB1575+525221]\n\tGetHandleVerifier [0x00EB1310+524608]\n\tOrdinal0 [0x00E15D28+1531176]\n\tGetHandleVerifier [0x00EB1D4A+527226]\n\tOrdinal0 [0x00D975F6+1013238]\n\tOrdinal0 [0x00D9746F+​​1012847]\n\tOrdinal0 [0x 00CA1A16+6678]\n\tOrdinal0 [0x00CA174A +5962]\n\tGetHandleVerifier [0x0120992C+4032348]\n\tBaseThreadInitThunk [0x774438F4+36]\n\tRtlUnicodeStringToInteger [0x77B35E13+595]\n\tRtlUnicodeStringToInteger [0x77B35DDE+542]\n\",\“消息\”:\“无效参数:缺少命令参数\”,\“错误\”:\“无效参数\”}}”,“errorStatus”:-1,“error”:“发生未知错误。”,“httpStatusCode” :400}

下面是页面对象:

module.exports = {
url: function () {
return this.api.launchUrl
},
elements: {
app: { selector: 'div[id="app"]' },
login_usernameInput: { selector: 'input[id="user_id"]' },
login_passwordInput: { selector: 'input[id="password"]' },
login_submitButton: { selector: 'button[id="submit"]' }
},
commands: [
{
login () {
return this
.waitForElementPresent('span[id=welcomeToMyApp]')
.setValue('@login_usernameInput', process.env.APP_USERNAME)
.setValue('@login_passwordInput', process.env.APP_PASSWORD)
.click('@login_submitButton')
.waitForElementPresent('@app')
}
}
]
}

测试代码:

module.exports = {
beforeEach: (browser, done) => {
browser.page.loginPage()
.navigate()
.login()
done()
},

'Test - DQM Page': function (browser) {
const dqmPage = browser.page.dqmPage()

dqmPage
.navigate()
.waitForElementVisible('body')
.click('@nextCountryTab')
.assert.visible('@nextCountry')
.end()
},

afterEach: (browser, done) => {
browser.custom().end()

setTimeout(function () {
done()
}, 200)
}
}

login() 方法中的 click() 之前的所有其他步骤都运行得很好。甚至 setValue() 函数也执行得很好。

请注意,提交按钮几乎是可见且可点击的。

最佳答案

我通过指定使用以前版本的 Chrome(现在是 74)修复了这个问题。

"desiredCapabilities": {
... clipped out my other capabilities for brevity ...
"version": "latest-1"
}

然后我将其更改为明确的版本 74。这两个都可以工作,但我不希望 Chrome 升级到 76,然后如果我们还没有完成采用真正的解决方案,测试就会再次开始失败。

"desiredCapabilities": {
... again - clipped for brevity ...
"browserName": "chrome",
"version": "74.0"
}

SauceLabs 所说的应该有效的内容如下。这对我不起作用。我从他们的博客文章 https://wiki.saucelabs.com/pages/viewpage.action?pageId=88801611 中得到了这个信息。

"desiredCapabilities": {
... clipped other configs again ...
"goog:chromeOptions": {"w3c": false}
}

关于automated-tests - nightwatch.js/Saucelabs - click() 不起作用 [在 <Element [name=@login_submitButton]> 上运行 .click() 命令时发生错误],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56527704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com