首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试隐藏键盘时在Appium中抛出未知命令错误

尝试隐藏键盘时在Appium中抛出未知命令错误
EN

Stack Overflow用户
提问于 2015-03-20 17:37:01
回答 1查看 612关注 0票数 0

具有以下代码:

代码语言:javascript
运行
复制
[TestClass]
public class RepairMobileTests
{

    public AppiumDriver driver;
    public DesiredCapabilities capabilities;


    [TestInitialize]
    public void BeforeAll()
    {

        capabilities = new DesiredCapabilities();
        capabilities.SetCapability("device", "Android");
        capabilities.SetCapability(CapabilityType.Platform, "WINDOWS");
        capabilities.SetCapability(CapabilityType.BrowserName, "Chrome");
        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"]);
   capabilities.SetCapability("capability.policy.strict.Window.confirm", "noAccess");
    }

    [TestCleanup]
    public void AfterAll()
    {
        driver.Quit();
    }
    [TestMethod]
    public void LoginSuccessful()
    {
        WaitMethods wm = new WaitMethods();
        driver = new AndroidDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities, TimeSpan.FromSeconds(180));
        string homepage = "http://www.siteundertest.com/";
        string username = "user";
        string password = "pass";

        ProdemandLoginPage pdl = new ProdemandLoginPage();
        pdl.openPage(homepage, driver);

        //Thread.Sleep(10000);

        wm.WaitForAjax(driver);

        driver.HideKeyboard(); // here is thrown the error


    }
}

抛出的错误:

代码语言:javascript
运行
复制
Test Name:  SearchMenu
Test FullName:  RepairMobileTestAutomation.RepairMobileTests.SearchMenu
Test Source:    c:\Users\net\Documents\Visual Studio 2013\Projects\RepairMobileTestAutomation\RepairMobileTestAutomation\RepairMobileTests.cs : line 419
Test Outcome:   Failed
Test Duration:  0:00:19.5419473

Result Message: 
Test method RepairMobileTestAutomation.RepairMobileTests.SearchMenu threw exception: 
OpenQA.Selenium.WebDriverException: Unexpected error. unknown command: session/0a3e8c760809af9316358a5afa458541/appium/device/hide_keyboard
Result StackTrace:  
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Appium.AppiumDriver.HideKeyboard(String strategy, String key)
at OpenQA.Selenium.Appium.AppiumDriver.HideKeyboard()
at RepairMobileTestAutomation.RepairMobileTests.SearchMenu() in c:\Users\net\Documents\Visual Studio 2013\Projects\RepairMobileTestAutomation\RepairMobileTestAutomation\RepairMobileTests.cs:line 437

应用程序日志在这里http://pastebin.com/4jdJLnY8我在真实的设备上运行测试,但我在触摸、滑动、锁定设备、隐藏键盘和其他手势方面有多个问题。如何触发点击或向下滚动等事件?有没有人能举个例子?我也在试着旋转屏幕,但是什么也没发生。有没有办法做到这一点?我在设备上安装的Chrome应用程序上运行测试。

EN

回答 1

Stack Overflow用户

发布于 2015-03-27 18:15:45

如果你使用Android你可以使用self.driver.back()命令隐藏键盘使用Appium,我使用python,我使用下面的代码在通过软键盘输入按键后,它关闭键盘并显示隐藏在键盘下面的项目

代码语言:javascript
运行
复制
def test_sign_in_old(self):
        self.driver.implicitly_wait(10)
        print('Checking Already registered  user')
        self.driver.find_element_by_name("I'M A MEMBER").click()
        self.driver.find_element_by_id('com.XXX.android:id/m_emailTextField').send_keys('xxx@gmail.com')
        self.driver.find_element_by_id('com.XXX.android:id/m_passwordTextField').send_keys("1234abcd")
        self.driver.back()
        self.driver.implicitly_wait(5)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29163436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档