使用引數化來跑test case
@parameterized.expand([selenium.common.exceptions.webdriverexception: message: an unknown server-side error occurred while processing the command. original error: could not proxy command to remote server. original error: error: socket hang up('[email protected]', '123456',''),
('[email protected]', '123455','password incorrect'),
('[email protected]', '123456','account does not exist')
])# @common.getimage
def test_login(self,username,password,message):
logging.info('**********test_login*****===')
user = login(self.driver)
self.asserttrue(user.login_action(self.driver,username,password))
if message == '':
self.asserttrue(user.check_login_status(username))
else:
self.asserttrue(user.check_toast(message))
sleep(3)
-----------------------------
遇到問題:
當使用三個用例引數組合去跑
中間那個會識別不到toast,看到現象就是感覺程序很快被殺掉進行下個用例引數
然後報
若單獨允許該用例,則成功
目前正在查詢原因。
呼叫函式報錯:
self.input_text(*self.entername,username)
typeerror: input_text() missing 1 required keyword-only argument: 'text'
被調函式:
def input_text(self,*loc,text):
'''* 的引數會以元組(tuple)的形式匯入,存放所有未命名的變數引數。封裝輸入操作函式
'''self.input = self.find_element(*loc)
self.input.clear()
self.input.send_keys(text)
呼叫函式:
加了兩個星號** 的引數會以字典的形式匯入。
第一種形式的不定長引數,在傳入額外的引數時可以不用指明引數名,直接傳入引數值即可,第二種因為返回的是字典,所以傳入時需要指定引數名。例子:
1 def funa(a, b, *args):2 print(a)
3 print(b)
4 print(args)
5 6
7 funa(1, 2, 3, 5, 6, 7)
輸出如下:12
(3, 5, 6, 7)
args為後面所有的引數,以元組方式呈現:(3, 5, 6, 7)
所以就回答了本來的那個報錯,因為
input_text(self,*loc,text)第乙個引數為不定長引數,所以它把後面的引數全部傳給*loc,text就讀不到值解決方式很簡單:
將不定長引數放最後
python Appium環境搭建
第 一 安裝和配置android sdk 關於安裝和配置android sdk的方式,可以檢視下面的鏈結 第 二 安裝node.js 檢查node.js是否正常 node v 安裝過程比較簡單,基本上都是下一步 第 四 安裝python python安裝步驟在此,忽略下面是python的環境變數配置...
electron vue build遇到的問題
受限於牆以及網路環境,很多人在嘗試打包electron程式時都會碰到各種問題,下面以electron vue模板為例 打包使用electron builder windows環境下,一步步解決打包時所遇到的錯誤。下面三個檔案操作同步驟2 3.wincodesign 1.9.0.7z 4.nsis 3...
jQuery nyroModal 外掛程式遇到問題
nyromodal ver 1.6.2 彈出層外掛程式 瀏覽更多 初始化大小問題 頁面載入完成後初始化 設定大小 function 多 nyromodal 彈出層自定義大小 前面解決了預設大小設定問題,但針對所有彈出層此設定都是有效的,當乙個頁面有多個彈出層,而且彼此大小不一致時,該如何解決?在標籤...