【问题标题】:My first program in Android using Appium我在 Android 中使用 Appium 的第一个程序
【发布时间】:2015-10-05 07:50:01
【问题描述】:

我无法连接到我的应用。无法在 appPack 和 appActivity 中输入内容。

遵循的步骤:

  1. 启动 Appium Server 并连接节点 appium
  2. 执行了以下脚本

我的设备已连接并显示在线。当我执行此代码时,它没有显示任何错误。

请让我知道我的脚本哪里不正确。

public class testApp {

/**
 * @param args
 */
public class movein {
    // TODO Auto-generated method stub

    WebDriver dr;
    @Test
    public void testApp() throws MalformedURLException, InterruptedException{


        File app = new File("F:\\Mobile-testing\\apps\abc.apk");
         DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
            capabilities.setCapability("deviceName","Nexus 5");
            capabilities.setCapability("platformVersion", "4.4.4");
            capabilities.setCapability("platformName","Android");
         capabilities.setCapability("app", app.getAbsolutePath());

           capabilities.setCapability("appPackage", "com.abc");
           capabilities.setCapability("appActivity", "com.abc");

           dr = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
           dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

           // clicking

            }


}

}

我的 Appium 设置:

Server : 127.0.0.1 Port :4723

我的Appium信息:

info: [debug] Non-default server args: {"address":"127.0.0.1","logNoColors":true,"platformName":"Android","platformVers‌​ion":"18","automationName":"Appium"} 

我有 appPack 并从 adb 日志中输入了 appActivity。现在我面临错误:

(org.openqa.selenium.remote.UnreachableBrowserException: 无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。)

我从RemoteWebDriver 更改为AppiumDriver<>。它正在执行,现在显示错误消息:

原始错误:“java -version”失败。错误:生成 ENOENT

【问题讨论】:

  • 我的 Appium 信息 : info: [debug] Non-default server args: {"address":"127.0.0.1","logNoColors":true,"platformName":"Android","platformVersion ":"18","automationName":"Appium"}
  • 确认来自应用开发者的 appPack & appActivity。或者按照in this SO answer 的说明查找 appActivity 和 appPack。
  • 我有 appPack 并从 adb 日志中输入了 appActivity。现在我面临错误:(org.openqa.selenium.remote.UnreachableBrowserException:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。)
  • 它正在寻找 Chrome。您的设备上是否安装了 chrome?
  • 是的,chrome 已安装在设备中。但是该错误的解决方案是什么?

标签: java android selenium selenium-webdriver appium


【解决方案1】:

将设备连接到系统后。请按照以下步骤获取 Activity 名称和包名称。

步骤

  1. 在手机中打开您的应用
  2. 打开命令提示符。
  3. 转到运行并输入cmd 以打开命令提示符界面。
  4. 在窗口中输入adb devices。它会列出你的安卓设备
  5. 输入adb shell,进入设备。
  6. 输入此评论dumpsys window windows | grep -E ‘mCurrentFocus|mFocusedApp’
  7. 上述命令将显示 aapPackage 和 aapActivity

您尝试评论以下命令。

capabilities.setCapability("app", app.getAbsolutePath());

你可以试试下面的示例代码;

DesiredCapabilities cap1= new DesiredCapabilities();
    cap1.setCapability("deviceName", "devicename");
    cap1.setCapability("platformVersion", "4.4.4");
    cap1.setCapability("platformName", "Android");
    cap1.setCapability("browserName", "chrome");

    cap1.setCapability("appPackage", "com.android.settings");
    cap1.setCapability("appActivity", "com.android.settings.Settings");


    AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4888/wd/hub"), cap1);

以上示例命令将在安卓设备中打开settings

【讨论】:

  • 我做了同样的步骤,得到错误:org.openqa.selenium.SessionNotCreatedException:无法创建新会话。 (原始错误:启动活动的权限被拒绝。)(警告:服务器未提供任何堆栈跟踪信息)
【解决方案2】:

试试这篇精彩的帖子create appium node + android driver,它将帮助您设置测试所需的环境

【讨论】:

    猜你喜欢
    • 2020-01-19
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多