我是一个新的Appium和尝试的android设备,所以在编写代码时,我想使用android驱动程序,但每次出现错误,请检查下面的错误
“线程”main“org.openqa.selenium.WebDriverException中出现异常:返回的值无法转换为WebElement:{element=1}生成信息:版本:”3.4.0“,修订:”unknown“,时间:”unknown“系统信息:主机:”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在appium.java_client.android.androiddriver.FindElementByName(androiddriver.java:1)在org.openqa.selenium.by$byname.findElement(By.java:303)在org.openqa.selenium.remote.remoteWebdriver.findElement(remoteWebdriver.java:402)在io.appium.java_client.defaultgenericmobiledriver.findElement(defaultgenericmobiledriver.java:58)
但如果我用RemoveWebDriver替换AndroidDriver,它就能正常工作?为什么?“Appium版本1.4.16.1(蛇夫座)”
包演示;
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会话不支持定位器策略'name',如果您将使用最新的客户端版本,您将获得org.openqa.selenium.invalidSelectorException
并说明详细信息。
当使用最新的服务器/客户端组合(1.7.1、5.0.4java)时,使用您提到的两种情况都没有问题:
RemoteWebDriver驱动程序=新建RemoteWebDriver(url,功能);
或
我正在使用appium来自动化android应用程序。在这种情况下,无法对文本字段执行sendkeys():单击Add Customer选项。翻开了新的一页。我正在尝试在文本字段中输入值。我能够使用XPath找到页面上的文本字段。我可以点击文本字段。但是当我执行sendkeys()时,它失败了。参考下面的截图。 链接:2-添加客户-打开新页面(第2页)并尝试输入详细信息
我正在使用,并试图实现全局的方法,该方法应该在所有场景的执行完成后只执行一次。方法应该退出appium驱动程序。 目前,在每个运行场景之后执行钩子,这意味着每次都应该从头开始创建驱动程序,但我确实希望重用它。 任何帮助都将不胜感激
安装程序 ruby 2.3.3p222(2016-11-21修订版56859)[i386-mingw32] 想要执行的动作/步骤 我想对一个元素执行轻敲(而不是单击) 同时使用selenium-webDrive版本 IRB 到目前为止还不错。但是当我试图执行选项卡操作时。失败了 我觉得我错过了一些小细节(我对appium不熟悉),我只是没有看到我在这里犯的错误。所以如果有人能给我指出正确的方向,那
我已经重构了我的脚本几次,以使它工作,现在得到和错误。请谁能帮助我了解屏幕上实际显示的是什么,我哪里出了问题? 在0.014s内运行2个测试 失败(错误=2)
没有关于未关闭连接的报告。 按照@gus和@stephen C的建议,在
我正试图向下滑动联系人屏幕,但它不工作。 这是我尝试过的代码。 你们能帮我一下我做错了什么吗。 任何帮助都将不胜感激。