Wednesday, April 22, 2020

Appium Desktop Inspector: Chrome Browser

https://stackoverflow.com/questions/58696488/how-to-resolve-cannot-call-non-w3c-standard-command-while-in-w3c-mode-in-case
{
  "deviceName": "vivo 1920",
  "udid": "575b6cf1",
  "platformName": "Android",
  "platformVersion": "9",
  "chromedriverExecutableDir": "D:\\picx\\81",
  "appActivity": "com.google.android.apps.chrome.Main",
  "appPackage": "com.android.chrome"
}


Java code
package test1;
import org.testng.annotations.Test;

import com.google.common.collect.ImmutableMap;

import java.net.URL;

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.remote.MobileCapabilityType;


public class ChromeExample {

 //Any of the below code works fine
 //static AppiumDriver<MobileElement> appDriver; 
 static WebDriver appDriver;
  
 @Test
 public static void OpenChromeBrowser() throws Exception {    
     
  DesiredCapabilities cap = new DesiredCapabilities();
  cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
  cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "9");  
  cap.setCapability(MobileCapabilityType.DEVICE_NAME, "vivo 1920");
  cap.setCapability(MobileCapabilityType.UDID, "575b6cf1");
  cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "60");
  cap.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
  cap.setCapability("chromedriverExecutableDir", "D:\\picx\\81");
  cap.setCapability("appium:chromeOptions", ImmutableMap.of("w3c", false));
        
  URL url = new URL("http://127.0.0.1:4723/wd/hub");  
  appDriver = new AppiumDriver<MobileElement>(url,cap);  
  System.out.print("Opened Chrome Browser");
  
  appDriver.get("https://www.google.com");  
  WebElement elem = appDriver.findElement(By.name("q"));
  //WebElement elem1 = appDriver.findElement(By.name("q"));  this code also works fine
  elem.sendKeys("learn");
  elem.sendKeys(Keys.ENTER);    
 }

}

No comments:

Post a Comment

JMeter Simple Controller

  Simple Controller is just a  container  for user request.