问题标签 [webdriver-w3c-spec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
624 浏览

google-chrome - 在 Laravel Dusk Stripe 测试中,我该如何修复“在 W3C 合规模式下,框架必须是 WebDriverElement 的实例、整数或空值”

我的应用程序是 laravel 框架 5.8,我目前正在将其升级到 6.0。

我的 Laravel Dusk 浏览器测试包括登录 Stripe,在测试应用程序功能之前创建用户和订阅。

我正在使用 Google Chrome 版本 80.0.3987.132(官方版本)(64 位)

我已使用常用命令将 Dusk chrome 驱动程序设置为相同...

我的 phpunit 测试现在都运行良好。我的黄昏测试开始运行,但是当他们进入条带登录阶段时,他们返回错误

引发此错误的 Dusk 测试部分是:

我意识到忽略/解决这个问题可能不是最佳做法,但为了保持升级到 laravel 6.0 的移动,我尝试按照以下建议将 w3c 合规性设置为 false:

如何在 chromedriver 中关闭 w3c 以解决错误未知命令:Cannot call non W3C standard command while in W3C

https://github.com/laravel/dusk/issues/624

通过修改 DuskTestCase.php 但无济于事。

}

我认为正确的做法实际上是直接解决问题并修改我引用条纹框架的方式,即

但我不知道该怎么做。

我想我可能需要切换回默认框架,但还没有让它工作......

https://laracasts.com/discuss/channels/laravel/dusk-click-element-in-iframe?page=1

任何想法/建议都非常感谢你们。

0 投票
3 回答
378 浏览

karate - 空手道 UI 初始调用 BrowserStack 失败

我正在尝试使用空手道 UI 和 BrowserStack 为我们的移动浏览器自动化测试做一个 POC。我注意到空手道尝试在测试开始时对 BrowserStack 进行 GET 调用,并收到 500:

如您所见,运行 Java 11。同时运行 Junit5。到目前为止,这是我的设置(为了安全起见,用户名和密钥已被替换):

以及来自空手道报告的堆栈跟踪。认为它可能在抱怨session变量?我遵循了空手道设置、浏览器堆栈设置和 W3C webdriver 文档。

更新:我能够使用相同的 Maven 项目运行基本的 Java 测试,因此问题可能出在 Junit 或空手道的某个地方。 https://www.browserstack.com/automate/java

0 投票
1 回答
10698 浏览

java - 信息:检测到的方言:W3C 使用 Selenium Java

我有一个在网站上运行的网络自动化项目,执行新用户注册并选择几个项目。所有元素都由 findElement(By ) 检测到。突然它完全停止工作并且无法找到任何元素。我的 chrome 打开时没有采取进一步的操作,出现以下错误:

我缺少依赖项吗?流程工作得很好。

0 投票
1 回答
22 浏览

haskell - 使用 webdriver-w3c 的简单示例的“错误无会话进行中”错误

上面的代码导致错误:

2021-12-13 16:32:39 错误错误没有正在进行的会话(左(E NoSession),S {_httpOptions = Options { manager = Left _,proxy = Nothing,auth = Nothing,headers = [("User-Agent ","haskell wreq-0.5.3.2")], params = [], redirects = 10, cookies = Just (CJ {expose = []}) }, _httpSession = Nothing, _userState = WDState {_sessionId = Nothing, _breakpoints = BreakpointsOff}},W {unW = [LogEntry {_logEntryTimestamp = 2021-12-13 16:32:39.03282154 UTC, _logEntryUID = "", _logEntrySeverity = LogError, _logEntry = L_Error NoSession}]})

这个错误说明了什么?我错过了什么?

完整的示例项目可以在这里找到:https ://github.com/chrissound/434/commit/ea1f3d840b64093b40ebba0e3dfceaacd4b36716

0 投票
1 回答
38 浏览

python-3.x - 如何使用 Selenium 和 Python 将 Windows ID 转换为人类可读的格式

我知道如果我想知道我当前打开的窗口的对应ID,我在Python上使用以下语句:

输出(假设打开了 2 个窗口):

而且我也知道,如果我想在驱动中获取当前页面的标题,我在Python上使用如下语句:

输出:

但是,这些windows ID 是我这种凡人无法理解的,那么如何改进上面的语句来获得那些windows 的标题呢?

我的意思是,要获得这样的输出,其中包含驱动程序中打开的当前窗口的所有标题: