如何使用appium关闭Android Chrome密码保存弹出窗口

时间:2015-03-11 16:39:33

标签: c# selenium-webdriver appium remotewebdriver

如何在Android设备上使用带有appium的C#webdriver关闭密码保存弹出窗口?

以下是截图:

enter image description here

我使用appium和C#webdriver。尝试以下内容:

driver.FindElement(By.ClassName("android.widget.ImageButton"));

driver.FindElementByName("Close").Click();

但弹出窗口没有关闭。 测试在真实设备上执行。

这是初始化代码:

capabilities = new DesiredCapabilities();
capabilities.SetCapability("device", "Android");
capabilities.SetCapability(CapabilityType.Platform, "Windows");
capabilities.SetCapability("deviceName", ConfigurationManager.AppSettings["deviceName"]);

capabilities.SetCapability("platformName", ConfigurationManager.AppSettings["platformName"]);

capabilities.SetCapability("platformVersion", ConfigurationManager.AppSettings["platformVersion"]);
capabilities.SetCapability("appPackage", ConfigurationManager.AppSettings["appPackage"]);
capabilities.SetCapability("appActivity", ConfigurationManager.AppSettings["appActivity"]);

driver = new AndroidDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities, TimeSpan.FromSeconds(180));

5 个答案:

答案 0 :(得分:1)

您可以按如下方式禁用此功能:

  

打开“设置”应用。转到系统>语言&输入,然后展开   底部的高级设置。点按自动填充服务。

     

在自动填充服务上,选择“无”。

(参考:ref

答案 1 :(得分:0)

使用xpath wd.findElement(By.xpath("//android.widget.Button[@text='Never']")).click(); 您可以使用任何属性,例如resource-id,text,content-desc。

答案 2 :(得分:0)

试试这个:

driver.findElementsByXPath(&#34; // * [@ class =&#39; android.widget.ImageButton&#39; and @name =&#39; Close&#39;]&#34;); < / p>

答案 3 :(得分:0)

导航到该屏幕后,调用方法 driver.getPageSource(); ,它将关闭系统默认对话框(例如将密码保存到Google)。 让我知道您是否遇到任何问题。

答案 4 :(得分:0)

JavaScript示例:

在Android设备上通过appium使用量角器时,我可以通过将以下内容传递给chromeOptions从Google chrome中删除弹出框:


        'chromeOptions': {
            args: ['--disable-infobars']}

通过此操作将删除您提到的确切弹出窗口。