2015-03-20 6 views
0

Имея следующий код:Неизвестная ошибка команды брошена в Appium при попытке скрыть клавиатуру

[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 


    } 
} 

Ошибки, выброшенный: журналы

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 

Appium здесь http://pastebin.com/4jdJLnY8 Я бегу тесты на реальных устройствах, но у меня есть несколько проблем с Touch, Swipe, lock device, hidekeyboard и другими жестами. Как я могу активировать такие события, как кратковременное нажатие или прокрутка вниз? Может ли кто-нибудь отправить пример? Я также пытаюсь повернуть экран, но ничего не происходит. Есть ли способ сделать это? Я запускаю тесты в приложении Chrome, которое установлено на устройстве.

ответ

0

Если вы используете Android вы можете использовать self.driver.back() команды, чтобы скрыть клавиатуру с помощью Appium, я использую питон, я использую следующий код после ввода ключей через Softkeyboard и закрывает клавиатуру и раскрывает предметы, скрытые под клавиатурой

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('[email protected]') 
     self.driver.find_element_by_id('com.XXX.android:id/m_passwordTextField').send_keys("1234abcd") 
     self.driver.back() 
     self.driver.implicitly_wait(5) 
+0

не может сделать это с библиотекой C#. Я использую AppiumDriver, но у меня нет метода ** назад **. – sarbo

Смежные вопросы