測試環境搭建部署:
(1)安裝python,並且把python安裝目錄添加到系統環境變量的path;
(2)安裝selenium,如果是pycharm,在python安裝目錄D:\Python36\Scripts下執行pip install selenium;
(3)chrome.exe和chromedriver.exe兩者的版本要適配,chromedriver.exe放在chrome.exe路徑下,並且將chromedriver.exe的安裝目錄添加到系統環境變量的path。
pycharm是python的IDE之一(集成開發環境),也就是編輯器
anaconda是一個開源的python發行版本,其包含python和python的第三方庫
selenium是一個用於web應用程序的自動化測試工具
本機自動化測試框架:
python3.7.3 + selenium3.14 + chrome69+ chromedriver2.37 +win10
問題:
1、ran 0 test in 0.000s
ok
原因:
unittest提供了一個全局的main()使得單元測試的模塊變成了一個個可運行的腳本 main()方法以TestLoad類來搜索包含在模塊中以test開頭的命名方法,並自動執行它們
2、unittest ,調用另一個文件的方法需要分兩步
先調用類,再調用方法,不能一起調用,正確做法:
zhsq_login = Login()
zhsq_login.login(driver)
錯誤做法: Login().login(driver)
3、TypeError: gerStatuscode() takes 1 positional argument but 2 were given
函數定義參數要有self,這樣:def gerStatuscode(self,url):
4、no moduel named ‘selenium’
解決方法:
(1)查看你的python是否正確安裝了selenium包,沒有的話,在你的python安裝目錄D:\Python36\Scripts下執行pip install selenium
(2)安裝完成後最好直接打開python,在下面輸入from selenium import webdriver,回車後是否報錯,沒報錯則說明成功安裝selenium包
5、pycharm運行py腳本,報:FileNotFoundError: [WinError 2] 系統找不到指定的文件
6、找不到瀏覽器路徑或者
瀏覽器打開但是沒有運行網頁,處於下面頁面
解決方法:
(1)
self.driver = webdriver.Chrome(executable_path="C:/Users/xiehuagui/AppData/Local/Google/Chrome/Application/chromedriver.exe",options=options)
(2)在chrome.exe同路徑下添加chromedriver.exe,該應用程序版本要與Chrome瀏覽器相對應
7、pycharm 解決ModuleNotFoundError No module named HTMLTestRunner
(1)python3修改HTMLTestRunner:
第94行,將import StringIO修改成import io;
第539行,將self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO();
第642行,將if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,將uo = o.decode(‘latin-1‘)修改成uo = e;
第775行,將ue = e.decode(‘latin-1‘)修改成ue = e;
第631行,將print >> sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime))
(2)將文件放在python.exe安裝目錄的lib下
8、 python中出現IndentationError:unindent does not match any outer indentation level錯誤
或者:inconsistent use of tabs and spaces in indentation
縮進語法錯誤
解決:一定不要用編輯器打開py腳本,會有格式錯誤
9、Python3+Selenium 做 UI 自動化輸出報告報錯<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
解決方法:將HTMLTestRunner.py(與python.exe相同1路徑下)的631行
print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)
或者
print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
修改成
sys.stderr.write('\nTime Elapsed: %s\n' % (self.stopTime - self.startTime))
10、ImportError: Start directory is not importable: './cmb_case'
導入錯誤,開始目錄不可導入
解決方法1:使用絕對路徑,補全路徑: E:/zhsqtest/cmb/cmb_case
方法2:python獲取該文件所在的路徑的方法
>>> import os
>>> homedir = os.getcwd()
>>> print homedir