Как закрыть всплывающее диалоговое окно safari при запуске сценария автоматизации с помощью nightwatch на BrowserStack? - PullRequest
0 голосов
/ 10 июля 2019

Я использую 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()
    })
})

1 Ответ

0 голосов
/ 10 июля 2019

Вы пытались добавить возможность 'nativeWebTap' и установить ее в значение 'true' в тестовых сценариях?

...