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

如何使用Eclipse在Appium上运行脚本测试?

夔宏深
2023-03-14

我试图运行一个简单的登录测试,但我被困在这个。Appium不打开应用程序:(

下面是Java中的clode类:

    package test;

    import io.appium.java_client.android.AndroidDriver;

    import java.net.MalformedURLException; import java.net.URL; 
    import java.util.concurrent.TimeUnit; 
    import org.openqa.selenium.remote.DesiredCapabilities; 
    import io.appium.java_client.AppiumDriver; 
    import io.appium.java_client.MobileElement; 
    import io.appium.java_client.android.AndroidDriver;

    import org.junit.Test;

    public class TedLoginTest {

    @Test

    public void testLoginFB() throws MalformedURLException, InterruptedException    {   

    DesiredCapabilities capabilities = new DesiredCapabilities() ;  

    capabilities.setCapability("automationName","Appium");  
    capabilities.setCapability("platformnName","Android");  
    capabilities.setCapability("platformVersion","7.0");    
    capabilities.setCapability("deviceName","Lucas" );  
    capabilities.setCapability("udid", "5210ce98fa7eb4b3");     
    capabilities.setCapability("app","C:\\Users\\lucas\\Downloads\\TED.apk");
    capabilities.setCapability("appActivity", "com.whirlpool.ted.View.DashboardActivity");
    AndroidDriver driver = new AndroidDriver (new URL ("http://0.0.0.0:4723/wd/hub"), capabilities) ;
    driver.manage().timeouts().implicitlyWait(100,TimeUnit.SECONDS);

    driver.findElementByAndroidUIAutomator("new UiSelector().resourceId(\"com.consul.android.smartbeer.qa:id/edEmail\")").sendKeys("tedusp01@yahoo.com");
    driver.findElementByAndroidUIAutomator("new UiSelector().resourceId(\"com.consul.android.smartbeer.qa:id/edPassword\")").sendKeys("Smart2000");
    driver.findElementByAndroidUIAutomator("new UiSelector().resourceId(\"com.consul.android.smartbeer.qa:id/login\").text(\"Entrar\")").click();
    Thread.sleep(8000);

     }
    }

有人知道我做错了什么吗?我是缺少任何导入还是语法错误?

共有1个答案

巫马磊
2023-03-14

在这样的搜索中,我发现了许多类似的问题,它们都有或多或少相同的答案。

您需要在声明此活动的AndroidManifest.xml文件中设置Android:exported=“true”

<activity
    android:name="com.example.lib.MainActivity"
    android:label="LibMain" 
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" >
        </action>
    </intent-filter>
</activity>

参考:https://stackoverflow.com/a/19829733/2533443

 类似资料:
  • 我是一个自动测试和Appium的初学者,我正在尝试一个测试(针对android)。 我下载了: > appium-运行服务器 Android模拟器(Android虚拟设备管理器) 例外 谢了!

  • 使用Browserstack教程(https://www.browserstack.com/app-automate/appium-junit)和样本项目(https://github.com/browserstack/junit-appium-app-browserstack)我正在努力设置并行测试。 具体来说,我需要运行suirte与Cucumber.class()我的测试从场景中读取,而Br

  • 以下版本的系统配置- Mac OS-10.12 Xcode-8.0 Appium-1.5.3

  • 目标:因为我是新来Appium的。我正在尝试在Ubuntu上使用Appium网格在多个android设备上并行自动化Appium测试 我成功启动了一个网格中心服务器和两个具有不同端口的节点 问题:无法同时在两台设备上运行测试用例(我确信问题出在我如何设计框架上)。我不知道如何传递两个设备的能力,同时启动设备(主要问题)。我必须为此使用多线程吗?如果是,那么如何使用 实际:当我在同一个设备上运行多个

  • 我对appium很陌生: 我想运行一个代码,在我的设备中打开chrome和google浏览器。通用域名格式: 但是得到以下错误: ?* 配置失败:@BeforeMethod安装程序java。lang.NoClassDefFoundError:com/google/common/base/Function位于WhatsApp。在sun上设置(WhatsApp.java:36)。反映NativeMet

  • Pm2默认的start命令使用Python2运行脚本。如何让它使用python3运行脚本?假设我的脚本名为app.py。