pycharm 自動化測試selenium+Python3遇到的問題及解決方法(一)

 測試環境搭建部署:

(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

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章