ios android 自动化测试工具,AndroidIOS自动化测试框架整合升级方案
一.Android與IOS自動化的相同點與異同點
1.相同點
1.1 框架相同Appium+selenium;
1.2 使用JAVA語言;
2.異同點
2.1 Driver不一樣;
2.2 平臺不一樣;
2.3 啟動App的方法也不一樣;
2.4 android用的是uiautomatorviewer定位元素,IOS用得Appium inspector
二. 框架模式
1.Android與IOS除設備配置,Driver不一樣,object操作,Case,場景執行都相同。
2.框架采用的是Object Map+Keyword模式,將設備配置,Driver,調用driver方法,Object,Case,場景分離,
公共方法封裝,通過實例化對像的方法調用對像,這樣提高了測試框架的復用性和可維護性。
三. 框架合并方案
Android只能在Windows環境+真機執行腳本,IOS只能在Mac環境+真機執行腳本。
1.方案一一套代碼Android與IOS分開執行
1.1 設備配置分開:難點IOS與Android調用設備異同;
1.2 Driver可以放一起,在方法與命名上區分開;
1.3 ?Android與IOS操作方法分開,各自調用各自的定位,其它方法;
1.4 CASE,場景,用例集,ant.xml配置Android與IOS分開;
1.5 object定位對像(Name,id,xpath,...),object操作(click,sendKey,getText,...)方法,object對像庫數據分開;
1.6 與數據庫交互SQL以屬性方式存放到指定文件讀取;
1.7 截圖,滑屏,等公共方法合并為同一個方法,ios與Android分開實現;
2.方案二一套代碼同時兼容Android與IOS
2.1 設備配置分開:難點IOS與Android調用設備異同;
2.2 ?Driver可以放一起,在方法與命名上區分開;
2.3 ?Android與IOS操作放在同一個方法,將driver標識參數放到配置文件,在方法中調用配置文件;
2.4 CASE,場景,用例集,ant.xml配置Android與IOS合并執行;
2.5 object定位對像(Name,id,xpath,...),object操作(click,sendKey,getText,...)方法,object對像庫數據分開;
2.6 與數據庫交互SQL以屬性方式存放到指定文件讀取;
2.7 截圖,滑屏,等公共方法合并為同一個方法,IOS與Android部份方法合并實現;
四. 框架升級方案
1.object定位方法完善封裝,ios與Android合并;
2.操作Object事件方法封裝,注:Object定位公共方法+操作事件可能會考慮合并;
3.按照PageObject方式封裝對像;
4.文本輸入參數,SQL參數,Driver標識參數,版本標識參數放在同文件;。
5.類,方法,屬性命名區分android與ios;
6.截圖,報告將android與ios分開;
7.case,場景,用例集,構建配置按最終方案調整;
8.兩個app功能交互;
五. 框架待解決問題
1.不同環境Driver處理,在那個環境就按那個環境方法寫
2.兩個app功能交互
1)windows環境同時跑兩個app,實現交互;
2)分平臺執行app1在windows上執行,app2在mac上執行;
3)若1)與2)解決不了只好分開執行,從數據庫初始與銷毀數據了;
3.版本控制
1)大版本重新創建工程;
2)小版本同時兼容上下兩個版本;
3)版本改動小時,在判斷時盡量使用兼容性較友好的方法;
注:有想法把版本換成數字型格式(例:265),方變比較;
4)在元素操作中修改,若同一功能多版本重復修改,只保留當前最新的兩個版本。
4.平臺+版本兼容
判斷太多時可能會影響代碼執行效率
5.進入某頁面,提交,返回這三項需要判斷1)是否成功進入指定頁面,網絡異常處理;
2)提交頁面后是否跳轉指定頁面,若未成功跳轉需做補救處理;
3)返回到指定頁,或者報錯需要退出到指定頁,需要添加返回步數及成功判斷;
6.IOSName元素定位失敗問題
1)先將appium版本,降低一個版本再測試。
2)IOS貌似除了Name就是xpath,若頁面變更,維護xpath地址可會較頻繁。
7.完善公共方法,android層級定位方法;
總結
以上是生活随笔為你收集整理的ios android 自动化测试工具,AndroidIOS自动化测试框架整合升级方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php本地打开pdf文件_用PHP在we
- 下一篇: Android域名解析优先ipv6,IP