zoukankan      html  css  js  c++  java
  • Appium+WebDriverIO+Jasmine自动化测试Cordova APP(二) 配置wdio.conf.js(Android)

    在上一章中介绍了Appium+WebDriverIO+Jasmine这套体系的安装

    这一章介绍  Appium+WebDriverIO+Jasmine在进行自动化测试的时候的一些配置

    在安装时我们安装@wdio/cli 的时候执行了这行代码

    ./node_modules/.bin/wdio config -y 

    这行代码会生成一个叫 wdio.conf.js的文件,我们的所有配置都是在这里面进行的。
    配置wdio.conf.js也是整个自动化测试环节中比较难的一部分。

    让我们开始吧!
    首先是配置文件wdio.conf.js的结构,结构很简单,就是基础配置+主要的“capabilities ”的配置。

    基础配置请参考:https://webdriver.io/docs/options.html
    主要的capabilities 请参考 : http://appium.io/docs/cn/writing-running-appium/caps/index.html
    这是官方的配置信息,所有的配置项都列出来了,。
    一下是我写的一个简单的配置文件,可以根据我的文件进行修改

    exports.config = {
      //appium的端口一般不用修改
      port: 4723,
      
      //要打印的信息五个等级  trace | debug | info | warn | error | silent  输出信息依次递减
      logLevel: 'trace',
    
      //每个测试用例最多等待结果的时间(毫秒)
      waitforTimeout: 20000,
    
      //最多等待连接的时长
      connectionRetryTimeout: 190000,
    
      //最多连接失败的次数
      connectionRetryCount: 2,
    
      //测试脚本的路径
      specs: ['./tests/specs/**/*.test.js'],
    
      // 服务 appium不用修改  ——————比如基于客户端使用的就是appium,基于浏览器使用的可能是selenium-standalone
      services: ['appium'],
    
      //打印信息的, 
      reporters: ['spec'],
    
      //编写脚本的框架,我们选用的是jasmine 不用改——————BDD框架,比如使用的可能是cucumber则这里对应改成cucumber
      framework: 'jasmine',
      
      //jasmine 配置 
      jasmineNodeOpts: {
        defaultTimeoutInterval: 60000
      },
    
        //主要的配置用来验证各种信息的
       capabilities: [{
       
       //app 的activity名,一般是MainActivity
       appActivity: 'MainActivity',
       
        //app 的包名
       appPackage:'com.antoTest.mobile.app',
       
        // 'Android' or 'iOS'
        platformName: 'Android',
    
        //系统版本号 如安卓10
        platformVersion: '10.0',
    
        //测试的设备名,any表示任意设备
        deviceName: 'any',
    
        //app的路径 :  必须是绝对路径或者远程路径,不能是相对路径
        app: '绝对路径/debug-app.apk',
       
        //chromedriver的路径            
        chromedriverExecutable:'C://Users/Administrator/AppData/Local/Programs/Appium/resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/win/chromedriver.exe',
    
        //自动切换到webview context 
        autoWebview: true,
        
        //自动获取应用需要的权限
        autoGrantPermissions: true
      }],
    }

    这个配置比较简单,你可以根据你的需求进行更改,配置并不能直接使用的,需要根据你的设备系统、版本跟你的app属性进行修改。

    chromedriver版本选择
    还有一个比较重要的点就是chromedriver版本的选择,因为cordova app是混合型的app,简单来说混合型app就是web应用套上 android 或者 ios的外壳组成了一个android或者ios应用,而我们appium是调用安卓系统本身的自动化测试代码来进行自动化测试,而安卓系统原生的自动化测试框架对H5的支持不够,所以我们需要使用chromedriver来驱动H5。我们应该都知道安卓系统是基于chrome内核的,因此 chromedriver的版本跟我们手机上的chrome内核版本匹配。

    做法
    (1)手机启动开发者模式,然后在开发者选项中的 Android System WebView 可以查看chrome内核版本
    (2)到:http://chromedriver.storage.googleapis.com/index.html

    安装对应的chromedriver版本,如果你下载不是2.*开头的, 要非常精确!!!比如你的手机chrome内核版本需要76.0.3809.126版本的chromedriver,你下载76.0.3809.25版本的也不行,
    最简单的办法是下载2.*开头的,涵盖了好几个版本的,总有一个适合的,但是2.开头的最多支持到chrome 73,(现在最新是78版本),所以要下载最新的,还是得一个版本一个版本找。

    (3)下载好了之后,到相应的路径替换appium的chromedriver.exe (不要放多个版本,哪怕你重命名,appium会每个都扫描,执行哪个就不清楚了)
    windows:C:\Users\Administrator\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win

    ios:/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac

    配置就先讲到这里吧,接下来我想提几点在安装配置中常见的错误。


    ————————————————
    参考链接:https://blog.csdn.net/gyh233333/article/details/103687225

  • 相关阅读:
    Mandala Coloring Book Game ver 1.2
    Racing Game Starter Kit 1.1.0a
    Unity3D射击项目源码
    U3D第一人称解谜游戏完整项目工程源码
    uMMORPG Remastered v2.25
    U3D网球完整项目源码 v1.1
    Unity3D果汁店模拟经营完整项目工程源码
    3D坦克大战游戏项目源码
    周民强实变函数论第3版勘误14个
    竞赛2021年浙江省高等数学(微积分)竞赛数学类与工科类试题2页pdf
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/15466629.html
Copyright © 2011-2022 走看看