開始實際搭建App測試環境-Appium
一晃2016年結束,真是感慨萬千。總結2016猴年的教訓,就是整個心理狀態不佳;做的事情雜亂不在個人擅長領域,做得不踏實。
2017雞年的目標:
- 踏踏實實地搞定一兩個技術,包括1)移動App測試,實際學習兩個工具,Appium,monkeyRunner,threadTest,可能的話試試安全測試;做兩個例子專案。2)白盒邏輯測試工具,比如VectorCast;做兩個例子專案。
- 鍛鍊身體,保持好的身體狀態,每天10000步。
- 每天寫日誌。早上看30分鐘財經類的微信公眾號和新聞文章。
- 閱讀一些書籍,用Kindle電子書看,6本心態、社科類書籍。
1、根據前面閱讀的《移動APP測試實戰》,準備搭建Appium的測試環境。 Jmeter就算了
前面嘗試過一下,是失敗的,因此這次準備用一整天時間來搭建:
參考:
第一步是下載,安裝。
python2.7,JDK V1.8.0已經提前安裝。
a)(2017.1.22開始)使用工作PC,win10作業系統,node.js版本 V0.12.18;
b) 1.23早上,ADT下載安裝完成,更新SDK。Android的測試環境基本搭建完畢。 SDK:4.4w。
手機與PC通過usb線相連,能夠控制手機。
c)使用npm安裝appium。
在cmd使用命令npm install –g appium 安裝appium。 參看下面說明,使用npm全域性安裝Appium。
以前沒用過npm,搜尋的一段說明:
NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS程式碼部署上的很多問題,常見的使用場景有:- 允許使用者從NPM伺服器下載別人編寫的第三方包到本地使用。
- 允許使用者從NPM伺服器下載並安裝別人編寫的命令列程式到本地使用。
- 允許使用者將自己編寫的包或命令列程式上傳到NPM伺服器供別人使用。
npm 安裝 Node.js 模組語法格式為$ npm install
npm 的包安裝分為本地安裝(local)、全域性安裝(global)兩種,從敲的命令列來看,差別只是有沒有-g
等了一個小時,安裝失敗。
於是,在網上下載了一個,X86版本的。連結:appium下載|Appium For Windows 1.4.13.1 官方版免費下載-閃電下載吧 http://www.sdbeta.com/xiazai/2015/1216/51000.html。一番等,提示安裝成功。
第二步:安裝selenium、appium-python-client
20170208 今天開始準備使用,看51testing上說明(http://www.51testing.com/html/93/n-1053193-2.html),還要裝python(這個已經有了)、selenium和appium-python-client,幸好一切非常順利:
裝selenium webdriver 1. 開啟cmd 2. 命令為:pip install selenium -i http://pypi.douban.com/simple (使用國內地址) 3. 開啟python的shell或者IDEL介面 ,輸入from selenium import webdriver 如果不報錯那就說明你已經安裝selenium for python成功了。 4. 安裝appium-python-client:(這步很重要,必須) 進入cmd,輸入:pip install Appium-Python-Client 第三步: 1. 建立一個模擬器,並啟動android模擬器。安裝ADT以後,通過代理試圖更新SDK、AVD都不成功。 只好下載帶SDK的Android-studio(http://www.android-studio.org/index.php/download V2.2.2版本,大小1.6G)。遺憾的是,使用的PC機實在太差。裝Android-studio啟動非常慢。2.13在家裡安裝也不成功。 2.14 在嘗試幾次不成功後,果斷更換機器,在伺服器上把前面的流程完整走了一遍,也就三個小時。 2. 啟動appium 3. 啟動ActivePython,執行helloappium.py。執行成功。執行結果如下圖:helloappium.py:
#coding=utf-8
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4.2'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.find_element_by_name("1").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("9").click()
driver.find_element_by_name("9").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("+").click()
driver.find_element_by_name("6").click()
driver.find_element_by_name("=").click()
driver.quit()