1

我遵循了 Nightwatch 文档中的所有说明,并遵循了 github 中的许多问题。我相信我的 nightwatch.json 中有正确的 safari 设置。当我对其进行测试时,Safari 确实会启动,但是我的测试中的所有命令都失败了。例如,我有一个全局beforeEach来调整浏览器窗口的大小,它在 Firefox 和 Chrome 中效果很好,但在 Safari 中失败了

The command 'POST /session/FA198F5F-EE09-4129-9FF0-F55FEA0EE6F0/window/current/size' was not found.

如果我删除它,那么我测试的第一步(这是一个waitForElementVisible测试失败,错误为

The command 'GET /session/FA198F5F-EE09-4129-9FF0-F55FEA0EE6F0/element/node-F5A12DD5-2557-4AE6-806A-0A0B99B63EFC/displayed' was not found.

同样,我确定我的配置设置正确,因为 nightwatch 正在启动 safari 浏览器,但随后在测试命令上失败。我启用了 safaridriver 并选中了“允许远程自动化”,但一切仍然失败。有没有人遇到过这个问题?

4

1 回答 1

0

如果您使用 Appium 和 XCUITest 驱动程序作为您的 WebDriverAgent,那么您可以使用它browser.execute('mobile:gesture',{arguments})来替换所有“元素交互”命令。手势的完整列表可以在这里找到 对于像 waitForElementVisible() 这样的命令,您可以使用断言命令来代替(在我的例子中,我使用了assert.visible('element css selector'))。希望他们会在 NightWatch v2 中做出改变,但现在我们只能解决这个问题

于 2022-01-03T11:27:47.097 回答