当前位置: 首页 > 知识库问答 >
问题:

自动化测试用例适用于appium命令行工具,但不适用于桌面客户端

祁乐邦
2023-03-14
public static AndroidDriver<AndroidElement> InstallInvokeAPK() throws MalformedURLException
{
//Define the source folder
File f1 = new File("src");

//Define the destination and name of the APK file
File f2 = new File(f1, "New Driver app-excel-debug.apk");

    //COnfiguration setting to work with the application
DesiredCapabilities cap = new DesiredCapabilities();//Creating an object of Desiredcapabilities class

    cap.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);//Defining the platform
            cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Moto G (5) Plus");//Defining the Mobile handset name

cap.setCapability(MobileCapabilityType.UDID, "ZY223Z68JG");

    cap.setCapability("automationName", "UiAutomator2");

    cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 100);//Defining the maximum timeout period to execute command

    cap.setCapability("autoGrantPermissions", "true");      

    cap.setCapability(MobileCapabilityType.APP, f2.getAbsolutePath());      

//Use the Android Driver to work with Android Platform Elements
        AndroidDriver<AndroidElement> driver = new AndroidDriver<AndroidElement>(new URL("http://127.0.0.1:4723/wd/hub"),cap);

return driver;

public class TestApp extends Example2{

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


       AndroidDriver<AndroidElement> driver = InstallInvokeAPK();

    //AndroidDriver<AndroidElement> driver = PackageActivity("com.e9ine.android.driver", "com.e9ine.android.driver.module.AuthenticationModule.view.activity.SpalshScreenActivity");    

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

    driver.findElement(By.xpath("//android.widget.EditText[@text='Username']")).sendKeys("abc@xyz.com");        

    driver.findElement(By.id("editText_password")).sendKeys("1234");

    driver.navigate().back();

以下是appium日志:

硒日志:

共有1个答案

赵景曜
2023-03-14
  1. 删除您的Selenium Remote Driver-3.14.0依赖项,Appium Java Client 7.0.0包含selenium-java、selenium-support和selenium-api版本3.141.59作为可传递依赖项。如果您特别需要Selenium Remote Driver,我会建议将其升级到3.141.59以避免任何API不一致。
  2. 尝试通过运行ADB kill-server命令重置ADB主机。在启动Appium测试之前,请确保执行abd devices命令,并再次检查您的电话是否处于connected状态

参考资料:

  • 应用:疑难解答
  • Appium:代码示例-Java
 类似资料:
  • 问题内容: 我使用ncurses for UI挑选了在Linux上用C / C ++开发的遗留应用程序。在这种环境下有哪些自动测试工具? 编辑: 过去我使用过AutomatedQA TestComplete,这是我正在寻找的工具类型-除了在Linux上运行之外,并且能够测试Text UI应用程序。 问题答案: 我已经考虑过使用Rational Function Tester和TestComplet

  • 我正在做一个与运行时间有关的练习。exec(),我理解这个运行时。exec不是shell解释器,这就是为什么我执行“bash-c'command'”,但出于某种原因,我可以执行像ls这样的命令,但不能执行echo或重定向或多个命令。这些都不起作用: 这是我的java代码: 我使用以下语法运行上述命令: 这是有效的: 我在Ubuntu 20.04和zsh上使用openjdk 11.0.15。有人能告

  • 在pdf文件中,在按钮后面的代码中,我有 exit命令在Phantom PDF(旧版本,2.2)中运行良好,但在Foxit Reader(8.3,相当新的版本)中运行不好。那里什么也没有发生。 我还检查了一个旧的Foxit阅读器版本3.3,它在那里按预期工作。 我尝试了“安全性”和“信任管理器”设置,但这些设置并没有改善这种情况。 我想在按下按钮时关闭读卡器。

  • 我正在做一个与Runtime.exec()相关的练习,我明白Runtime.exec不是一个shell解释器,这就是为什么我执行"bash-c'命令'"来代替,但是出于某种原因,我可以执行ls之类的命令,但不能执行回显或重定向或多个命令。这些不起作用: 这是我的java代码: 我使用语法运行上述命令: 这工作原理: 我在Ubuntu 20.04和zsh上使用openjdk 11.0.15。有人能告

  • 我正在编写一个 C# 应用程序来解码此字符串: "--W 3原文3 R hcn Rfd Gl tZ SI 6 I jAi L CJ w cm 9 k dW N 0 X 2 lk I jo iO D Q wM DMz MD气LC J 1 cm wi O iI if Sx 7 InN 0 Y XJ 0 X 3 Rp b WU iO iI 3 OS In by b 2 R 1 Y 3 Rfa WQ iO

  • 我模拟了spring boot服务类来测试catch块语句。我的示例测试用例如下: 聚 甲醛: 测试用例执行得很好,但它没有反映在Java代码覆盖率报告中。我的catch语句仍然显示它没有被测试覆盖。 可能的原因是什么? 参考 具有Jacoco代码覆盖率的PowerMockito https://www . igorkromin . net/index . PHP/2018/02/20/jacoc