首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Appium/Protractor测试不能在真实设备.APK上运行

Appium/Protractor测试不能在真实设备.APK上运行
EN

Stack Overflow用户
提问于 2016-10-13 17:44:36
回答 1查看 615关注 0票数 3

多亏了Appium,我正在尝试使用已经在PC上运行良好的Protractor测试来混合应用程序。正如你所猜测的那样,有一次失败毁了整个链条,并且没有办法在google上找到帮助。这个问题很难,因为使用了很多软件,所以让我列出它们:

·Gulp (启动命令的经典服务器)

·Protractor (在webdriver上运行的测试语言)

·Phonegap (将网站编译为应用程序,例如:.apk)

·Appium (控制移动设备的中间服务器)

·真实设备(调试模式:打开)

这个过程几乎正常了,我的意思是apk安装得很好,应用程序启动了,等待了10秒后,它没有开始测试,而是崩溃/忽略了应用程序。我在这里介绍了两种情况,因为我不确定哪种配置适合我的设置。我将细节留在下面,但简而言之:第一种情况是app.apk被安装但被忽略,另一种情况是启动但崩溃(大约3秒后)

下面是Gulp start命令:

代码语言:javascript
复制
gulp.task('appium', ['webdriver_update'], function (cb) {
    return gulp.src(['packages/custom/*/public/tests/e2e/*.spec.js']).pipe(protractor({
        configFile: __dirname + '/../protractor.appium.conf.js',
        args: ['--baseUrl', 'http://10.56.160.74:3000'] //My Local IP: Website Port
    })).on('error', function (e) {
        console.log(e);
    });
});

下面是我的Protractor/Appium配置:

代码语言:javascript
复制
exports.config = {

    framework: 'jasmine2',
    seleniumAddress: 'http://localhost:4723/wd/hub',

    capabilities: {
        fullReset: true,
        browserName: 'android',
        deviceName: "Galaxy Note S3",
        platformName: "Android",
        platformVersion: "5.1.1",
        app: "C:/Projet/Spherea/appca/packages/custom/appca/public/apk/appca.apk",
        'app-package': 'com.spherea.appca',
        'app-captivity': 'MainActivity',
        autoWebview: true //<= On/Off change the scenario
    },

    onPrepare: function () {
        var wd = require('wd'),
            protractor = require('gulp-protractor').protractor,
            wdBridge = require('wd-bridge')(protractor, wd);
        wdBridge.initFromProtractor(exports.config);
    }
};

当autoWebview = true时:

应用程序在启动时冻结,在启动量角器测试失败10秒后,Appium放弃并启动浏览器并在那里处理测试,这不是我所需要的。

当autoWebview = false时出错:

代码语言:javascript
复制
[launcher] Running 1 instances of WebDriver
ERROR - Unable to start a WebDriver session.
[launcher] Error: UnknownError: Not yet implemented. Please help us: http://appium.io/get-involved.html
    at new bot.Error (C:\Projet\Spherea\appca\node_modules\gulp-protractor\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:108:18)
    at Object.bot.response.checkResponse (C:\Projet\Spherea\appca\node_modules\gulp-protractor\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\response.js:
109:9)
    at C:\Projet\Spherea\appca\node_modules\gulp-protractor\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:379:20
    at [object Object].promise.ControlFlow.runInFrame_ (C:/Projet/Spherea/appca/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog
/../webdriver/promise.js:1857:20)
    at [object Object].goog.defineClass.notify (C:/Projet/Spherea/appca/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webd
river/promise.js:2448:25)
    at [object Object].promise.Promise.notify_ (C:/Projet/Spherea/appca/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webd
river/promise.js:564:12)
    at Array.forEach (native)
    at [object Object].promise.Promise.notifyAll_ (C:/Projet/Spherea/appca/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../w
ebdriver/promise.js:553:15)
    at goog.async.run.processWorkQueue (C:\Projet\Spherea\appca\node_modules\gulp-protractor\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:13
0:15)
    at runMicrotasksCallback (node.js:337:7)
[launcher] Process exited with error code 100

我希望有人能帮助我,我已经浪费了10天的时间来尝试这个问题,现在我没有办法解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2019-05-08 14:53:52

我也尝试过同样的方法,结论是jasmine/cucumber的量角器不支持原生应用程序,它只支持桌面的web自动化和移动的web &混合应用程序自动化。

你可以在下面的链接中找到回复https://github.com/angular/protractor/issues/1798谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40017561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档