ios元素定位

原文地址http://www.cnblogs.com/meitian/p/7373460.html

第一種:通過Appium1.6的Inspector來查看

具體安裝方式前面的隨筆已經介紹了:http://www.cnblogs.com/meitian/p/7360017.html
可以通過定位找到元素xpath或name
個人不推薦用這個方法,實際操作中發現,每次操作后點擊刷新比較慢,而且有時左側布局文件更新不及時,導致點擊左側屏幕的控件找不到元素,有時App Source根本就沒更新

第二種:通過macaca的App inspector來定位元素

1.安裝macaca-li
$?npm?install?macaca-cli?-g
2.檢查macaca環境
$?macaca?doctor
只要打印出的結果都綠色的日志信息,就表示環境是好的
3.安裝app-inspector
$?npm?install?app-inspector?-g
4.使用方法
通過下面命令啟動檢測web界面,然后就在Safari中自動打開了【http://本地IP:5678】進行檢測
$?app-inspector?-u?YOUR-DEVICE-ID(設備id)

iOS獲得設備id的方法:

真機的獲取方法:idevice_id -l
$?xcrun?simctl?list
獲得下面的數據:
第一個括號內的就是手機的device id,第二個括號內是模擬器的狀態
結果如下,也可以獲得元素的name和xpath
說明:我目前使用第二種方式,1是直接刷新頁面速度比appium中快點;2是沒有很大延遲,刷新后點擊元素圖標一般都能找到元素
(使用時還遇到過一個問題,web打開時手機界面底部沒展示全,通過鍵盤command和-號組合縮小頁面,展示了全部內容)
遇到的問題:app-inspector我這用的模擬器,用真機的情況下一直報錯。模擬器沒問題
Error: connect ECONNREFUSED 127.0.0.1:8001
at Object.exports._errnoException (util.js:1024:11)
at exports._exceptionWithHostPort (util.js:1047:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1150:14)
解決方法:
cd /usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD
open?XCTestWD.xcodeproj
修改XCTestWD和XCTestWDUITests,修改bundle id,簽名然后編譯通過即可。(參考webdriveragent的更改方法,操作一致)

iOS操作元素

通過上面的方法能夠獲得元素的xpath和name(或accessibility id),然后對應到Appium中的命令如下:
accessibility id或name:
driver.find_element_by_name(“name或accessibility id")
driver.find_element(By.NAME,“name或accessibility id")
xpath:
driver.find_element_by_xpath(“xpath地址")
driver.find_element(By.XPATH,“xpath地址")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/284402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284402.shtml
英文地址,請注明出處:http://en.pswp.cn/news/284402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

分治法——循環賽日程表

1、問題描述:有n2^k個遠動員選手,設計比賽日程表實現:(1)每個選手必須與n-1個選手比賽(2)每個選手一天只比賽一場(3)比賽共進行n-1天輸入:n人輸出&#xff1a…

使用 LSM-Tree 思想基于.NET 6.0 C# 寫個 KV 數據庫(案例版)

文章有點長,耐心看完應該可以懂實際原理到底是啥子。這是一個KV數據庫的C#實現,目前用.NET 6.0實現的,目前算是屬于雛形,骨架都已經完備,畢竟剛完工不到一星期。當然,這個其實也算是NoSQL的雛形&#xff0c…

35.使用攔截器實現權限驗證

轉自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 為了說明此問題,我們建立struts2auth項目,流程圖如下: 簡短說明:當我們訪問main.jsp頁面,并試圖通過此頁面中的鏈接地址:not…

如何保證緩存和數據庫的一致性?

1. 問題分析 2. Cache-Aside 2.1 讀緩存 2.2 寫緩存 2.3 延遲雙刪 2.4 如何確保原子性 3. Read-Through/Write-Through 3.1 Read-Through 3.2 Write-Through 4. Write Behind 很多小伙伴在面試的時候,應該都遇到過類似的問題,如何確保緩存和數據庫…

Pressed狀態和clickable,duplicateParentState的關系

做Android開發的人都用過Selector,可以方便的實現View在不同狀態下的背景。不過,相信大部分開發者遇到過和我一樣的問題,本文會從源碼角度,解釋這些問題。 首先,這里簡單描述一下,我遇到的問題: 界面上有個…

Hbase筆記4 java操作Hbase

暫無轉載于:https://www.cnblogs.com/mrxiaohe/p/6512481.html

【招聘(南京)】 慧咨環球南京研發中心 .NET和Blazor 前端

主要的亮點快速增長的、產品導向型的全球性科技公司設計和開發市場領先的軟件解決方案WLB — 工作生活相平衡澳洲排名前五的軟件公司混合辦公 — 3天在家辦公,2天在辦公室辦公在C#和.NET開發,企業級系統研發,軟件工程方面有長期的優秀實踐和技…

用Python+Django在Eclipse環境下開發web網站【轉】

一、創建一個項目如果這是你第一次使用Django,那么你必須進行一些初始設置。也就是通過自動生成代碼來建立一個Django項目--一個Django項目的設置集,包含了數據庫配置、Django詳細選項設置和應用 特性配置,具體操作步驟如下所示。 1.新建Djan…

[轉]數據結構KMP算法配圖詳解(超詳細)

KMP算法配圖詳解 前言 KMP算法是我們數據結構串中最難也是最重要的算法。難是因為KMP算法的代碼很優美簡潔干練,但里面包含著非常深的思維。真正理解代碼的人可以說對KMP算法的了解已經相當深入了。而且這個算法的不少東西的確不容易講懂,很多正規的書本…

BGP-MED-2

BGP-MED-2如圖:當AS100去往AS300的60、10的網絡時,60走R3,10走R1!使用MED屬性影響選路! R2的配置 bgp 200peer 1.1.1.1 as-number 100 peer 1.1.1.1 ebgp-max-hop 255 peer 1.1.1.1 connect-interface LoopBack0peer 4.4.4.4 as-n…

WPF 實現 Gitee 氣泡菜單(一)

WPF 實現 Gitee 氣泡菜單(一)氣泡菜單(一)作者:WPFDevelopersOrg原文鏈接: https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40;Visual Studio 2022;項目使用 MIT 開…

[轉]LVS負載均衡(LVS簡介、三種工作模式、十種調度算法)

一、LVS簡介 LVS(Linux Virtual Server)即Linux虛擬服務器,是由章文嵩博士主導的開源負載均衡項目,目前LVS已經被集成到Linux內核模塊中。該項目在Linux內核中實現了基于IP的數據請求負載均衡調度方案,其體系結構如圖1…

一張圖看懂微軟Power BI系列組件

一、Power BI簡介 Power BI是微軟最新的商業智能(BI)概念,它包含了一系列的組件和工具。話不多說,直接上圖吧: Power BI的核心理念就是讓我們用戶不需要強大的技術背景,只需要掌握Excel這樣簡單的工具就能快…

互聯網項目總結

2019獨角獸企業重金招聘Python工程師標準>>> 從去年年底開始專門被分配到互聯網小組做項目,一直想做個總結,但是苦于太貪玩。好吧,借著小組技術交流來一發。這里只對自己新學習的技術或者一些小技巧做簡要概述,不做深究…

【ArcGIS微課1000例】0036:分式標注案例教程

【拓展閱讀】:【ArcGIS Pro微課1000例】0015:ArcGIS Pro中屬性字段分式標注案例教程 文章目錄 1. 符號化2. 分式標注1. 符號化 右鍵數據圖層→符號系統,打開符號系統對話框,住符號系統選擇【唯一值】,字段1選擇NAME。 唯一值標注效果: 2. 分式標注 雙擊打開圖層屬性,切…

【轉】 ConstraintLayout 完全解析 快來優化你的布局吧

轉自: http://blog.csdn.net/lmj623565791/article/details/78011599 本文出自張鴻洋的博客 一、概述 ConstraintLayout出現有一段時間了,不過一直沒有特別去關注,也多多少少看了一些文字介紹,多數都是對使用可視化布局拖拽&#…

IoTDB 的C# 客戶端發布 0.13.0.7

IoTDB C# Client 0.13.0.7 已經發布, 此版本更新的內容為筆者為Apache-IoTDB-Client-CSharp實現了Ado.Net的兼容層,降低了對IoTDB的使用門檻。于此同時, IoTSharp也開始支持了IoTDB的數據入庫,隨著晚些時候IoTSharp 2.7 版本的發布…

[轉]Docker超詳細基礎教程,快速入門docker

一、docker概述 1.什么是docker Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從 Apache2.0 協議開源。 Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬…

【Zookeeper】源碼分析之服務器(一)

一、前言 前面已經介紹了Zookeeper中Leader選舉的具體流程,接著來學習Zookeeper中的各種服務器。 二、總體框架圖 對于服務器,其框架圖如下圖所示 說明: ZooKeeperServer,為所有服務器的父類,其請求處理鏈為PrepReques…

linux下配置samba服務器(以CentOS6.7為例)

一、簡介(百度百科)Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議&#xff0c…