Dil*_*mar 6 android appium protractor
设置autoWebview:'true'在protractor配置文件导致系统注销,ubuntu 16.4
这是我的配置文件:
exports.config = {
seleniumAddress: 'http://localhost:4723/wd/hub',
specs: ['demo.js'],
capabilities: {
platformName : 'android',
platformVersion : '4.4.2',
deviceName: 'PNV4PN4LUORWSCRO',
directConnect: true,
browserName: "android",
autoWebview: ' true',
app: '/path/abc.apk',
appPackage: 'xyz',
appActivity: '.MainActivity',
newCommandTimeout: 140,
autoWebviewTimeout: 10000,
fulReset: true
},
baseUrl: 'http://10.0.2.2:8000',
allScriptsTimeout: 22000,
onPrepare: function () {
var wd = require('wd'),
protractor = require('protractor'),
wdBridge = require('wd-bridge')(protractor, wd);
wdBridge.initFromProtractor(exports.config);
}
};
Run Code Online (Sandbox Code Playgroud)
如果我没有设置autoWebview:'true',那么我遇到问题:
[21:38:48] I/hosted - Using the selenium server at http://localhost:4723 /wd/hub
[21:38:48] I/launcher - Running 1 instances of WebDriver
[21:39:04] E/runner - Unable to start a WebDriver session.
E/launcher - Error: WebDriverError: Not yet implemented. Please help us: http://appium.io/get-involved.html
at WebDriverError (/home/dilip/local/lib/node_modules/protractor/node_modules/selenium-webdriver/error.js:27:5)
at Object.checkLegacyResponse (/home/dilip/local/lib/node_modules/protractor/node_modules/selenium-webdriver/error.js:580:13)
at /home/dilip/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:360:15
at Promise.invokeCallback_ (/home/dilip/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1329:14)
at TaskQueue.execute_ (/home/dilip/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2790:14)
at TaskQueue.executeNext_ (/home/dilip/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2773:21)
at asyncRun (/home/dilip/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2652:27)
at /home/dilip/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:639:7
at process._tickCallback (internal/process/next_tick.js:103:7)
[15:01:09] E/launcher - Process exited with error code 100
Run Code Online (Sandbox Code Playgroud)
以下是spec.js文件内容:
describe('Protractor Demo App', function() { var firstNumber =element(by.model('xyz:id/data.email')); var secondNumber = element(by.model('xyz:id/data.password')); it('Open login page', function() { firstNumber.sendKeys("dilip"); secondNumber.sendKeys(7668);
});
Run Code Online (Sandbox Code Playgroud)
拜托,有人帮帮我.
我有同样的问题。如appium#6526中所述,如果使用新版本的 procps 和旧版本的 appium-chromedriver,则会出现问题。不幸的是,如果我安装 appium,那么我会得到旧版本的 appium-chromedriver@2.8.3,因为 appium 的npm-shrinkwrap.json (在master中被删除)。
我不是 npm 专家,但令我满意的解决方案是:
将appium添加到package.json中的devDependency和脚本中
"devDependencies": {
"appium": "^1.5.2",
...
},
"scripts": {
"appium": "appium"
}
Run Code Online (Sandbox Code Playgroud)
这允许您运行 app-local 版本的 appium
npm run appium
Run Code Online (Sandbox Code Playgroud)
而不是全局appium安装。
添加 npm-shrinkwrap.json (或生成并npm shrinkwrap --dev
编辑)文件以覆盖依赖项:
{
"name": "my app",
"version": "1.0.0",
"dependencies": {
"appium": {
"version": "1.5.2",
"from": "appium@>=1.5.2 <2.0.0",
"resolved": "https://registry.npmjs.org/appium/-/appium-1.5.2.tgz",
"dependencies": {
"appium-android-driver": {
"version": "1.10.7",
"from": "appium-android-driver@1.10.7",
"resolved": "https://registry.npmjs.org/appium-android-driver/-/appium-android-driver-1.10.7.tgz"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)然后安装并运行 appium
npm install
npm run appium
Run Code Online (Sandbox Code Playgroud)如果我没有遗漏任何东西,那么它应该可以解决问题。也许在下一个 appium 版本中您不再需要 npm-shrinkwrap.json 。
编辑:示例:ionic-appium-Protractor-example
归档时间: |
|
查看次数: |
445 次 |
最近记录: |