Android的驱动程序在appium

我是新来Appium没有工作,试图在Android设备上,所以在编写代码时我想使用Android驱动程序,但每次错误出现,检查以下Android的驱动程序在appium

错误“异常线程”主“org.openqa.selenium.WebDriverException:返回值无法转换为WebElement:{ELEMENT = 1} 构建信息:版本:'3.4.0',修订:'未知',时间:'未知' 系统信息: host:'DESKTOP-HT0VM72',ip:'192.168.88.104',os.name:'Windows 10',os.arch:'x86',os.version:'10 .0',java.version:'1.8.0_144' 驱动程序信息:driver.version:AndroidDriver at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:417) 在io.appium.java_client.DefaultGenericMobileDriver.findElement(DefaultGenericMobileDriver.java:62) 在io.appium.java_client.AppiumDriver.findElement(AppiumDriver.java:1) 在io.appium.java_client.android.AndroidDriver.findElement( AndroidDriver.java:1) 在org.openqa.selenium.remote.RemoteWebDriver.findElementByName(RemoteWebDriver.java:485) 在io.appium.java_client.DefaultGenericMobileDriver.findElementByName(DefaultGenericMobileDriver.java:110) 在io.appium。 java_client.AppiumDriver.findElementByName(AppiumDriver.java:1) at io.appium.java_client.android.AndroidDriver.findElementByName(AndroidDriver.java:1) at org.openqa.selenium.By $ ByName.findElement(By.java: 303) at org.openqa.selenium.remote.Re moteWebDriver.findElement(RemoteWebDriver.java:402) 在io.appium.java_client.DefaultGenericMobileDriver.findElement(DefaultGenericMobileDriver.java:58) 在io.appium.java_client.AppiumDriver.findElement(AppiumDriver.java:1) 在IO。 app.java_client.android.AndroidDriver.findElement(AndroidDriver.java:1) at demo.TestCase1.main(TestCase1.java:31) 引起:java.lang.ClassCastException:java.util.HashMap不能转换为org .openqa.selenium.WebElement 在org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:415) ...... 13多个”

,但如果我用RemoveWebDriver取代AndroidDriver能正常工作?为什么? “Appium v​​ersion 1.4.16.1(Ophiuchus)”

package demo;

import java.net.MalformedURLException; 

import java.net.URL;

import java.util.List;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.remote.DesiredCapabilities;

import org.openqa.selenium.remote.RemoteWebDriver;

import io.appium.java_client.android.AndroidDriver;

public class TestCase1 {

public static void main(String[] args) throws MalformedURLException {

RemoteWebDriver driver;

DesiredCapabilities cap=new DesiredCapabilities();

cap.setCapability("deviceName", "Fever 4G");

cap.setCapability("platformVersion", "6.0");

cap.setCapability("platformName", "Android");

cap.setCapability("appPackage", "com.vector.guru99");

cap.setCapability("appActivity", "com.vector.guru99.BaseActivity");

driver =new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

//verification1

if(driver.findElement(By.name("Guru99")).isDisplayed())

System.out.println("guru99 header is displayed");

else

System.out.println("guru99 is not displayed");

//verification2

if(driver.findElement(By.name("Course Category")).isSelected())

System.out.println("Course category is currently selected");

else

System.out.println("Course Category is not selected");

//Get all the courses listed in the course category

List<WebElement> courseoffered=driver.findElements(By.id("com.vector.guru99:id/lblListHeader"));

System.out.println("Course offered are :");

for(WebElement course : courseoffered)

{

String cours= course.getText();

System.out.println(cours);

if(course.isEnabled())

System.out.println(" is Enabled ");

else

System.out.println(" is not Enabled");

}

driver.quit();

}

}

回答:

你没有提到你使用的是什么appium Java客户端版本,但首先:

driver.findElement(By.name( “课程分类”))isSelected()

注意:从1.5版开始,Appium会话不支持定位器策略“名称”,如果您使用最新的客户端版本,您将获得org.openqa.selenium.InvalidSelectorException的解释详细信息。

在使用最新的服务器/客户端组合(1.7.1,5.0.4 JAVA),没有你提到使用这两种情况下问题:

RemoteWebDriver driver = new RemoteWebDriver(url, capabilities);

AppiumDriver driver = new AndroidDriver(url, capabilities);

两者都用于查找元素和属性。

以上是 Android的驱动程序在appium 的全部内容, 来源链接: utcz.com/qa/258225.html

回到顶部