0%

  1. 安装mitmproxy

    1
    sudo -H pip install mitmproxy --upgrade --ignore-installed six
    阅读全文 »

启动Appium服务器

1
TaoYi-Mac:~ taoyi$  appium --session-override -p 4730 --no-reset
阅读全文 »

提升Android原生模拟器速度的方法

在Android SDK Manager中勾选中Inter X86 Emulator Accelerator (HAXM installer),然后安装它

查看支持的模拟器Android版本号

1
android list
阅读全文 »

  1. zip&unzip

    1
    2
    zip -r filename.zip dirname               # 压缩mydata文件夹到mydata.zip
    unzip filename.zip -d dirname # 把mydata.zip解压到mydatabak文件夹中
    阅读全文 »

  1. 首先需要下载android sdk tools only

    1
    2
    wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
    tar -zxvf android-sdk_r24.4.1-linux.tgz
    阅读全文 »

建立session时常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DesiredCapabilities cap = new DesiredCapabilities();
cap.SetCapability("browserName", ""); // web 浏览器名称('Safari' ,'Chrome'等)。如果对应用进行自动化测试,这个关键字的值应为空。
cap.SetCapability("platformName", "Android"); //你要测试的手机操作系统
cap.SetCapability("platformVersion", "4.4"); //手机操作系统版本
cap.SetCapability("automationName", "selendroid"); //你想使用的自动化测试引擎:Appium (默认) 或 Selendroid
cap.SetCapability("deviceName", " Android Emulator"); //使用的手机类型或模拟器类型,真机时输入Android Emulator或者手机型号
cap.SetCapability("udid", udid); //连接的物理设备的唯一设备标识,Android可以不设置

cap.SetCapability("newCommandTimeout", "300"); //设置收到下一条命令的超时时间,超时appium会自动关闭session ,默认60
cap.SetCapability("unicodeKeyboard", "True"); //支持中文输入,会自动安装Unicode 输入法。默认值为 false
cap.SetCapability("resetKeyboard", "True"); //在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态

cap.SetCapability("'app'", "D:\\AndroidAutomation\\AndroidAutoTest\\app\\zhongchou.apk"); //未安装应用时,设置app的路径

//手机已安装app,直接从手机启动app,上面路径不设置
cap.SetCapability("appPackage", "com.nbbank"); //你要启动的Android 应用对应的Activity名称|比如`MainActivity`, `.Settings`|
cap.SetCapability("appActivity", "com.nbbank.ui.ActivityShow"); //你想运行的Android应用的包名
cap.SetCapability("appWaitActivity", "com.nbbank.ui.ActivityLogo"); //你想要等待启动的Android Activity名称|比如`SplashActivity`|

Uri serverUri = new Uri("http://127.0.0.1:4723/wd/hub");
driver = new AndroidDriver<IWebElement>(serverUri, cap, TimeSpan.FromSeconds(180));
阅读全文 »

Appium 服务关键字

关键字描述实例
automationName你想使用的自动化测试引擎Appium (默认) 或 Selendroid
platformName你要测试的手机操作系统iOS, Android, 或 FirefoxOS
platformVersion手机操作系统版本例如: 7.1, 4.4
deviceName使用的手机类型或模拟器类型iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, 等。在 iOS 上,这个关键字的值必须是使用 instruments -s devices 得到的可使用的设备名称之一。在 Android 上,这个关键字目前不起作用。
app.ipa or .apk文件所在的本地绝对路径或者远程路径,也可以是一个包括两者之一的.zip。 Appium会先尝试安装路径对应的应用在适当的真机或模拟器上。针对Android系统,如果你指定app-packageapp-activity(具体见下面)的话,那么就可以不指定app会与 browserName 冲突比如/abs/path/to/my.apkhttp://myapp.com/app.ipa
browserName需要进行自动化测试的手机 web 浏览器名称。如果是对应用进行自动化测试,这个关键字的值应为空。iOS 系统上可以用 ‘Safari’ ,Android 系统上可以用 ‘Chrome’, ‘Chromium’, 或 ‘Browser’。
newCommandTimeout设置命令超时时间,单位:秒。达到超时时间仍未接收到新的命令时 Appium 会假设客户端退出然后自动结束会话。比如 60
autoLaunchAppium是否需要自动安装和启动应用。默认值truetrue, false
language(Sim/Emu-only) 设定模拟器 ( simulator / emulator ) 的语言。如: fr
locale(Sim/Emu-only) 设定模拟器 ( simulator / emulator ) 的区域设置。如: fr_CA
udid连接的物理设备的唯一设备标识如: 1ae203187fc012g
orientation(Sim/Emu-only) 在一个设定的方向模式中开始测试LANDSCAPE (横向) 或 PORTRAIT (纵向)
autoWebview直接转换到 WebView 上下文。 默认值 falsetrue, false
noReset不要在会话前重置应用状态。默认值falsetrue, false
fullReset(iOS) 删除整个模拟器目录。(Android) 通过卸载——而不是清空数据——来重置应用状态。在 Android 上,这也会在会话结束后自动清除被测应用。默认值 falsetrue, false
阅读全文 »

每次运行测试,app都会重新安装

1.1 在case里不要设置app的安装路径,只要设置desired_caps['appPackage'](app的包名)和desired_caps['appActivity'](启动时的activity)即可
1.2 在启动appium的时候,加上--no-reset参数

阅读全文 »