Я использую Browserstack для тестирования E2E, теперь у меня возникла проблема, когда я пытаюсь запустить скрипт мобильной автоматизации в safari на Browserstack, при нажатии на кнопку появляется всплывающее диалоговое окно, которое приводит к открытиюновая вкладка, в диалоговом окне показывается следующее сообщение: «этот сайт пытается открыть всплывающее окно», я должен закрыть его, и сценарий может продолжить выполнение.
Теперь проблема заключается в следующем: 1. Когда я нажимаюкнопка, которая вызовет это всплывающее диалоговое окно, всегда будет отображать исключение в журнале: «Ошибка при выполнении действия протокола .clickElement (): Ошибка Appium: При обработке команды произошла неизвестная ошибка на стороне сервера».Исходная ошибка: не получено никакого ответа после 20 секунд.2. Я могу использовать XPath, чтобы найти кнопку во всплывающем диалоге и щелкнуть ее, чтобы закрыть диалог, но это занимает несколько минут, есть ли другой способ сделать эту операцию более эффективной?
const { client } = require('nightwatch-api')
const { Given, Then, When} = require('cucumber')
Given('open mobile 163 news', async function () {
await client.url('https://3g.163.com/news/article/EJN99AOF000189FH.html?clickfrom=index2018_news_newslist#offset=0')
})
When('choose share by QQ', async function () {
await client.waitForElementVisible('.sharelogo')
await client.click('.sharelogo')
})
Then('the popup should show', async function () {
await client.waitForElementVisible('.qzone')
await client.click('.qzone')
await client.setContext('NATIVE_APP')
await client.source(function(res){
console.log(res.value)
})
await client.useXpath()
await client.click('//*[@name="Allow"]')
await client.contexts(function(result) {
client.setContext(result.value[result.value.length - 1])
client.useCss()
})
})