Selenium Android web 测试 'Save Card?' 弹窗拦截测试点击
Selenium Android web test 'Save Card?' pop-up blocking test clicks
嘿,我在 Android 设备上通过 Browserstack 使用 Chrome 移动浏览器 运行 进行 Selenium 网络测试时遇到问题。
当我输入银行卡详细信息时,出现“保存银行卡?”出现弹出窗口并阻止对其涵盖的网络元素进行测试点击:
我已经尝试了一些解决方案,例如将 chrome 参数传递给 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(...)
然后切换上下文并点击 'Save':
driver.context("NATIVE_APP");
driver.findElement(By.xpath(".//android.widget.Button[@text='Save']")).click();
嘿,我在 Android 设备上通过 Browserstack 使用 Chrome 移动浏览器 运行 进行 Selenium 网络测试时遇到问题。
当我输入银行卡详细信息时,出现“保存银行卡?”出现弹出窗口并阻止对其涵盖的网络元素进行测试点击:
我已经尝试了一些解决方案,例如将 chrome 参数传递给 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(...)
然后切换上下文并点击 'Save':
driver.context("NATIVE_APP");
driver.findElement(By.xpath(".//android.widget.Button[@text='Save']")).click();