python+appium自動(dòng)化測(cè)試-學(xué)習(xí)過程中踩過的那些坑

一脱茉、創(chuàng)建工程虛擬環(huán)境問題

(一).工程環(huán)境創(chuàng)建

image.png

1.location為工程存儲(chǔ)的位置

2.Vietualenv:編譯器的虛擬環(huán)境

3.New environment using下的Location:虛擬環(huán)境存儲(chǔ)的位置

4.New environment using下的Base interpreter:基礎(chǔ)編譯器牧抵,即系統(tǒng)安裝的python

5.Inherit global site-packages:勾選上的話代表創(chuàng)建的新項(xiàng)目需要copy一份全局包到虛擬環(huán)境栖疑。

6.Make available to all projects:勾選上缀磕,表示,當(dāng)在虛擬環(huán)境下安裝包的時(shí)候姐军,copy一份到全局缺狠。

注意:

全局包存放在python安裝目錄下的\Lib\site-packages子目錄里。

虛擬環(huán)境包安裝在關(guān)聯(lián)的項(xiàng)目目錄下面的${虛擬環(huán)境名}\Lib\site-packages子目錄里

(二).Project Structure

image.png

介紹上圖紅色框框中的作用:標(biāo)識(shí)文件

Sources:通過為此類別分配文件夾型雳,您可以告訴IDE編譯器此文件夾及其子文件夾包含應(yīng)作為構(gòu)建過程的一部分進(jìn)行編譯的源代碼当凡。

Excluded:(1) 不會(huì)索引該文件夾內(nèi)的文件, 也就是不再顯示indexing
(2)因?yàn)椴辉偎饕募A內(nèi)的文件, 所以使用全局搜索功能時(shí)也不會(huì)檢查該文件夾內(nèi)的文件

Templates:模板設(shè)置

Resources:適用于您的應(yīng)用程序中使用的資源文件(圖像,各種配置XML和屬性文件等)纠俭。

二沿量、出現(xiàn)original error could not proxy command to remote server. original error error socket hang up

解決方法:

a.在控制臺(tái)中輸入一下兩條命令,再重新安裝uiautomator2即可

adb  uninstall io.appium.uiautomator2.server
adb  uninstall io.appium.uiautomator2.server.test

b.重啟appium

三冤荆、出現(xiàn)Unresolved Attributed Reference朴则,如下圖:

image.png

發(fā)生原因:

在該類中定義的driver屬性為WebDriver(WebDriver庫(kù)屬于Selenium框架),而以上代碼中調(diào)用的open_notifications()和press_keycode()方法是屬于webdriver庫(kù)(webdriver庫(kù)屬于appium框架)钓简,所以需要在該類中導(dǎo)入webdriver類佛掖,并在類中將driver聲明為webdriver

解決方法:

a.查看open_notifications()方法所在的包有沒有在venv→Lib→site-packsges下

b.查看driver是否有定義,在類下定義driver的屬性涌庭,如下圖:

image.png

四芥被、* 傳參問題

# 通過ID定位(*表示參數(shù)數(shù)量不定,無(wú)*表示參數(shù)數(shù)量固定)
a:
    def find_element(self, locator):
        return self.driver.find_element(*locator)
b:
    def find_element_xpath(self, *locator):
        return self.driver.find_element_by_xpath(*locator)

如上例題:
*locator:表示傳入的參數(shù)數(shù)量是不固定的坐榆,可以傳一個(gè)或多個(gè)參數(shù)
locator:表示傳入的參數(shù)數(shù)量固定為一個(gè)

五拴魄、Unicode的解碼使用gbk解碼方式

參數(shù)化讀取自外部的yaml文件,獲取yaml文件例子中席镀,讀取yaml文件會(huì)出現(xiàn)下圖中的問題

編寫如下:

search_context_data = yaml.safe_load(open(path, "r"))

會(huì)出現(xiàn)如下問題

image.png

問題分析:

錯(cuò)誤的意思是:Unicode的解碼(Decode)出現(xiàn)錯(cuò)誤了匹中,以gbk編碼的方式去解碼(該字符串變成Unicode),但是此處通過gbk的方式豪诲,卻無(wú)法解碼(can't decode).''illegal multibyte sequence"的意思是非法的多字節(jié)序列顶捷,也就是說無(wú)法解碼了。

出現(xiàn)這樣的錯(cuò)誤屎篱,可能是要處理的字符串本身不是gbk編碼服赎,卻是以gbk編碼去解碼葵蒂。比如,字符串本身是utf-8的重虑,但用gbk去解碼践付,必然出錯(cuò)。

解決問題:

讀取yaml文件時(shí)添加一行代碼(utf-8)即可缺厉,如下:

search_context_data = yaml.safe_load(open(path, "r", encoding= "utf-8"))

六永高、日志文件輸出亂碼

使用python的logging模塊記錄日志,有時(shí)會(huì)遇到中文編碼問題錯(cuò)誤提针。

在logging.FileHandler(path) 中添加指定編碼方式 encoding='utf-8' 即可命爬,logging.FileHandler(path, encoding='utf-8') 。

上栗子:

# 借助handle將日志輸出到文件中
fh = logging.FileHandler(filename, encoding='utf-8')
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辐脖,一起剝皮案震驚了整個(gè)濱河市饲宛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌揖曾,老刑警劉巖落萎,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亥啦,死亡現(xiàn)場(chǎng)離奇詭異炭剪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)翔脱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門奴拦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人届吁,你說我怎么就攤上這事错妖。” “怎么了疚沐?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵暂氯,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我亮蛔,道長(zhǎng)痴施,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任究流,我火速辦了婚禮辣吃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芬探。我一直安慰自己神得,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布偷仿。 她就那樣靜靜地躺著哩簿,像睡著了一般宵蕉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上卡骂,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天国裳,我揣著相機(jī)與錄音,去河邊找鬼全跨。 笑死缝左,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的浓若。 我是一名探鬼主播渺杉,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼挪钓!你這毒婦竟也來(lái)了是越?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤碌上,失蹤者是張志新(化名)和其女友劉穎倚评,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體馏予,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡天梧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了霞丧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呢岗。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蛹尝,靈堂內(nèi)的尸體忽然破棺而出后豫,到底是詐尸還是另有隱情,我是刑警寧澤突那,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布挫酿,位于F島的核電站,受9級(jí)特大地震影響愕难,放射性物質(zhì)發(fā)生泄漏早龟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一务漩、第九天 我趴在偏房一處隱蔽的房頂上張望拄衰。 院中可真熱鬧,春花似錦饵骨、人聲如沸翘悉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)妖混。三九已至老赤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間制市,已是汗流浹背抬旺。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祥楣,地道東北人开财。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像误褪,于是被迫代替她去往敵國(guó)和親责鳍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361