2017-03-06 119 views
0

我想运行一个简单的测试在Windows 10 64位上启动计算器应用程序,我已经安装了[email protected]。根据安装appium的文档,winappdriver也将被安装。但是,当我尝试运行我的测试时,我看到下面的错误,其中抱怨winappdriver未安装。不能得到WinAppDriver与appium 1.6.3工作

C:\WINDOWS\system32>appium 
[Appium] Welcome to Appium v1.6.3 
[Appium] Appium REST http interface listener started on 0.0.0.0:4723 
[HTTP] --> POST /wd/hub/session {"desiredCapabilities":{"app":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App","platformName":"Windows","deviceName":"WindowsPC"}} 
[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"app":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App","platformName":"Windows","deviceName":"WindowsPC"},null,null,null,null] 
[Appium] Creating new WindowsDriver session 
[Appium] Capabilities: 
[Appium] app: 'Microsoft.WindowsCalculator_8wekyb3d8bbwe!App' 
[Appium] platformName: 'Windows' 
[Appium] deviceName: 'WindowsPC' 
[BaseDriver] The following capabilities were provided, but are not recognized by appium: app. 
[BaseDriver] Session created with session id: c0c6c7e6-b782-4b14-8192-bc78e5b38008 
[WinAppDriver] Verifying WinAppDriver is installed with correct checksum 
[HTTP] <-- POST /wd/hub/session - - ms - - 
[debug] [WinAppDriver] Deleting WinAppDriver session 
[MJSONWP] Encountered internal error running command: Error: Could not verify WinAppDriver install; re-run install 
    at WinAppDriver.start$ (../../lib/winappdriver.js:35:13) 
    at tryCatch (C:\Users\bhawsar\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40) 
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\bhawsar\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22) 
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\bhawsar\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100:21) 
    at GeneratorFunctionPrototype.invoke (C:\Users\bhawsar\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:37) 

还附上我的测试脚本:

var wd = require("wd"); 
var chai = require("chai"); 
var chaiAsPromised = require("chai-as-promised"); 
chai.use(chaiAsPromised); 
var should = chai.should(); 
//enable chai assertion chaining 
chaiAsPromised.transferPromiseness = wd.transferPromiseness; 

var serverConfig = { 
    host:'127.0.0.1', 
    port:4723, 

}; 

var capabilities = { 
    app:'Microsoft.WindowsCalculator_8wekyb3d8bbwe!App', 
    platformName:'Windows', 
    deviceName:'WindowsPC' 
}; 

var driver; 

describe('test calculator',function(){ 
it('test launch calculator',function(done){ 

    driver = wd.promiseChainRemote(serverConfig); 
    console.log(driver) 
    this.timeout(10000); 
    var cap=driver.init(capabilities); 
    console.log(cap) 
     done(); 
}) 
}); 

回答

0

你有没有在第一时间安装WinAppDriver? https://github.com/Microsoft/WinAppDriver/releases,WindowsApplicationDriver.msi

注意:目前仅适用于Win 10。

+0

是的,我做到了,C:\ Program Files文件(x86)的\ Windows应用程序驱动程序。我也只赢了10场。我跟着https://jeremylindsayni.wordpress.com/2016/11/18/testing-your-windows-app-with-appium-in-windows-10-and-visual-studio-2015/。但它不适合我。 – PB13

+0

顺便说一句,找到了一些相关的东西:https://github.com/Microsoft/WinAppDriver/issues/100 对于我这样做在java中,WinAppDriver似乎开始好(硒-java v。3.2.0,appium java-客户端5.0.0-BETA5),一切工作正常。 – Zaziro

0

我知道,我的回答是为时已晚

我只是想让别人知道 的是,在appium使用的双赢应用驱动程序版本太旧(0.7),所以只是从GitHub(0.9)

下载它直接
0

我注意到appium和windows驱动程序的版本有紧密的依赖关系。通过桌面应用程序安装appium时,它不起作用。你得到错误的版本。

安装时,它将Windows驱动程序下载到您的appdata/temp文件夹中。你应该删除它。

当通过nmp安装appium时,它会工作得更好,这个下载正确的Windows驱动程序。

当你没有删除临时文件夹下载这也是一个会失败,因为它需要的是windows驱动程序...