appium+python ios元素定位

https://segmentfault.com/a/1190000010205649

由于使用id睬辐、className溉委、AccessibilityId定位方式較為簡單瓣喊,多數(shù)情況下,在同一個頁面藻三,都不是唯一存在的洪橘,不能識別一個元素跪者。而 xpath定位方式在 xcui 底層原生不支持,由 appium 額外支持的熄求,定位速度很慢渣玲,而且有時候定位不到元素的情況存在。綜上所述弟晚,在 iOS 的 UI 自動化中忘衍,使用原生支持的iOSNsPredicateString定位方式是最好,支持也是最好的卿城。

定位方式
僅支持 iOS 10或以上(底層需要使用 XCUITest 框架)枚钓,可支持元素的單個屬性和多個屬性定位,推薦使用瑟押。一個元素有這些屬性:type搀捷、value、name多望、label嫩舟、enabled怀偷、visible,有些元素的屬性只有以上的部分屬性晋渺,如下圖所示随静,可根據(jù)這些屬性進行元素定位恋捆。

元素屬性的介紹
type:元素類型,與className作用一致愤钾,如:XCUIElementTypeStaticText
value: 一般不用
name:元素的文本內(nèi)容,可用作 AccessibilityId定位方式败玉,如:測試420班級群
label:絕大多數(shù)情況下谦疾,與 name 作用一致
enabled:元素是否可點擊六剥,一般值為true或者false
visible:元素是夠可見,一般值為true或者false

定位方式
元素的定位方式都是一個屬性+運算符+值形式存在

比較運算符:>,<,==,>=,<=,!=
可用于數(shù)值和字符串的比較,
如:name>100 或name == '測試'

范圍運算符:IN,BETWEEN
可用于數(shù)值和字符串的范圍核對
如:name BETWEEN {3,10},name IN {'Alan','May'}

字符串相關:CONTAINS、BEGINSWITH擦囊、ENDSWITH
包含某個字符串查剖,如:label CONTAINS '測試'
以某個字符串開頭弹砚,如:label BEGINSWITH '420'
以某個字符串結(jié)束桌吃,如:label ENDSWITH '班級群'
PS:在三個關鍵字后加上[c]不區(qū)分大小寫瑟俭,可用于字母的校驗;[d]不區(qū)分發(fā)音符號,即沒有重音符號($、#肃续、%等)畦韭;[cd]即不區(qū)分大小寫衍慎,也不區(qū)分發(fā)音符號赠法,如:name CONTAINS[c] ABcd和name CONTAINS abcd侧纯、name CONTAINS ABCD是等同的,注意后面兩個沒帶[c]的不相等

通配符:LIKE
通配符也接受[cd]拳缠,?代表一個字符哲鸳,*代表多個字符
如:一個元素的label屬性為

label LIKE '420測試班級群'
label LIKE '420測?班級群'
label LIKE '420??班級群'
label LIKE '42懒豹?測試班蝴乔?群'
label LIKE '*試班級群'
label LIKE '420測試班*'
label LIKE '42*級群'
label LIKE '4*試*群'
以上這么多種文本都可以被識別為同一個元素。

正則表達式:MATCHES
如:以4開頭,以群結(jié)束,

label MATCHES '^4.+群$'
PS:具體正則表達式語法篡诽,請百度一下,你就知道

以一種屬性定位元素
可以用元素的屬性:type板丽、value啃憎、name、label、enabled集绰、visible倒慧,進行定位:

type == XCUIElementTypeStaticText,
label CONTAINS '測試'
label LIKE '*試班級群'
enabled == true
visible == false
以兩種或兩種以上屬性定位元素
就是以上單個屬性定位用符號AND連接起來即可炫贤。如:

type == XCUIElementTypeStaticText AND label CONTAINS '測試
type == XCUIElementTypeStaticText AND label CONTAINS '測試' AND enabled == true

http://www.reibang.com/p/7e057d4de0c2

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末猛计,一起剝皮案震驚了整個濱河市奉瘤,隨后出現(xiàn)的幾起案子卖局,更是在濱河造成了極大的恐慌蟹演,老刑警劉巖酒请,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡陶贼,警方通過查閱死者的電腦和手機啤贩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拜秧,“玉大人痹屹,你說我怎么就攤上這事「鼓桑” “怎么了痢掠?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嘲恍。 經(jīng)常有香客問我足画,道長,這世上最難降的妖魔是什么佃牛? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任淹辞,我火速辦了婚禮,結(jié)果婚禮上俘侠,老公的妹妹穿的比我還像新娘象缀。我一直安慰自己,他們只是感情好爷速,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布央星。 她就那樣靜靜地躺著,像睡著了一般惫东。 火紅的嫁衣襯著肌膚如雪莉给。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天廉沮,我揣著相機與錄音颓遏,去河邊找鬼。 笑死滞时,一個胖子當著我的面吹牛叁幢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播坪稽,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼曼玩,長吁一口氣:“原來是場噩夢啊……” “哼鳞骤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起演训,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤弟孟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后样悟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡庭猩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年窟她,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔼水。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡震糖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出趴腋,到底是詐尸還是另有隱情吊说,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布优炬,位于F島的核電站颁井,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蠢护。R本人自食惡果不足惜雅宾,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望葵硕。 院中可真熱鬧眉抬,春花似錦、人聲如沸懈凹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽介评。三九已至库北,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間威沫,已是汗流浹背贤惯。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棒掠,地道東北人孵构。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像烟很,于是被迫代替她去往敵國和親颈墅。 傳聞我的和親對象是個殘疾皇子蜡镶,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350