簡體   English   中英

Selenium Android web 測試“存卡?” 彈窗攔截測試點擊

[英]Selenium Android web test 'Save Card?' pop-up blocking test clicks

嘿,我在通過 Browserstack 在 Android 設備上運行的 Chrome 移動瀏覽器進行 Selenium web 測試時遇到問題。

當我輸入卡詳細信息時,“保存卡?” 出現彈出窗口並阻止對其涵蓋的 web 元素進行測試點擊:

在此處輸入圖像描述

我已經嘗試了一些解決方案,例如將 chrome arguments 傳遞給 Browserstack,但它們似乎無法阻止此彈出窗口。

我也嘗試過使用上下文切換:

driver.context("NATIVE_APP"); 
driver.findElement(AppiumBy.xpath(".//android.widget.Button[@text='SAVE']")).click();

但是,這僅在指定“AndroidDriver”但我使用的是“RemoteWebDriver”時有效。

我的 WebDriver 示例代碼:

protected WebDriver driver;

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("build", "Samsung Galaxy S21 - " + method.getName());
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName", "Samsung Galaxy S21");
capabilities.setCapability("browser", "Chrome");
capabilities.setCapability("real_mobile", "true");
capabilities.setCapability("browserstack.appium_version", "1.22.0");
capabilities.setCapability("browserstack.local", "true");
capabilities.setCapability("browserstack.networkLogs", "true");
capabilities.setCapability("autoGrantPermissions", "true");
capabilities.setCapability("disable-popup-blocking", "true");
capabilities.setCapability("autoDismissAlerts", true);
capabilities.setCapability("unicodeKeyboard", true);
capabilities.setCapability("resetKeyboard", true);

driver = new RemoteWebDriver(new URL(Browserstack_URL), capabilities);

在使用 RemoteWebDriver 時,我有什么辦法可以關閉此彈出窗口或完全阻止它出現嗎?

不得不最終切換到使用:

driver = new AndroidDriver(...)

然后切換上下文並單擊“保存”:

driver.context("NATIVE_APP");
driver.findElement(By.xpath(".//android.widget.Button[@text='Save']")).click();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM