Not able to identify element in WEBVIEW in iOS hyprid app automation using Appium on real device

后端 未结 3 611
故里飘歌
故里飘歌 2021-01-15 17:45

I was trying to automate the hybrid app build using ionic2/Angular2 and typescript.

I am using C# for code writing. test are in BDD - specflow Versions: iOS:9.3.1 Xc

相关标签:
3条回答
  • 2021-01-15 18:06

    1) While access ios webview -- using getcontextHandles we can achieve

    Set contextNames = idriver.getContextHandles();

    System.out.println(contextNames);
    
    for (String contextName : contextNames) {
      if (contextName.contains("NATIVE_APP")) {
        Reporter.log("Reaching to Native App", true);
        idriver.context(contextName);
        sleepfor(1000);
        idriver.findElementByName("Open").click();
        Reporter.log("Clicking Open to naviagte to Native APP", true);
      }
      else{
        Reporter.log("Not found", true);
      }
    }
    

    2) If above context doesn't work -- try to run iproxy run this in terminal -- ios_webkit_debug_proxy -c deviceID:27753 -d deviceID -- to get device id (instruments -s devices)

    0 讨论(0)
  • 2021-01-15 18:20

    I think you have to Set up UICatalog in Appium

    1. Copy this link in xcode : https://github.com/appium/ios-uicatalog

    2. Search the repository where we have the UICatalog.app installed Users/Library/Developer/Xcode/DerivedData/UICatalog-bhmtevqhmgarbcgnqybxttbkqfvn/Build/Products/Debug-iphonesimulator/UICatalog.app

    3. Copy it into app path in Appium ios settings
    0 讨论(0)
  • 2021-01-15 18:24
    1. Continues of from here : How to enable and use WebView for iOS Automation in Appium

    Try and use the following code to switch contexts :

    var contextNames = driver.GetContexts(); //correction to your code 
    driver.SetContext(contextNames[1]);
    
    1. You don't necessarily need the following capability while using appium :

      capabilities.SetCapability("browserName", "iOS"); //can be removed from code as well
      
    2. I am guessing you might be trying to use Appium Inspector along with running/debugging your tests. In which case you might not be able to use both the instances. Please look into the appium server logs for details on this.

    0 讨论(0)
提交回复
热议问题