国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕

這篇具有很好參考價值的文章主要介紹了【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.目標
  • 在做飯、鍛煉等無法騰出雙手的場景中,想刷刷抖音

  • 刷抖音的時候有太多的廣告

如何解決痛點

  • 抖音自動播放下一個視頻
  • ?iOS系統(tǒng)高版本無法 越獄 安裝插件
2.操作環(huán)境
MAC一臺,安裝 Xcode
iPhone一臺,16 系統(tǒng)以上最佳
?3.流程

下載最新?web-driver-agent_appium

xcode 打開

【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕,教程專區(qū),開發(fā)日記匯,appium

?配置開發(fā)者證書

【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕,教程專區(qū),開發(fā)日記匯,appium

運行?

【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕,教程專區(qū),開發(fā)日記匯,appium

( 直接command+U運行,這是test模式,不能run,即一定要執(zhí)行project>Test 才可以校驗第三步),?運行后會提示輸入mac電腦的密碼,提示編譯成功,并且在IOS真機上看到了WDA的身影。

【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕,教程專區(qū),開發(fā)日記匯,appium

編譯成功

同時,控制臺會顯示輸出IP地址和端口,如下圖所示(打開控制臺方法:選擇view->Debug Area->Activate console打開底部控制臺。):關(guān)鍵是最后一句話(ServerURLHere->http://192.168.11.236:8100<-ServerURLHere

復制url到輸入在瀏覽器中,就會發(fā)現(xiàn)網(wǎng)頁上顯示出你的手機界面,然后,你就可以為所欲為啦。

不過有些iPhone,據(jù)說是國產(chǎn)的原因,直接使用ip不能連接手機(即輸入打印出來的url無法顯示手機界面),需要進行端口轉(zhuǎn)發(fā)(終端執(zhí)行 “iproxy 8300 8100”?回車后在瀏覽器中輸入http://localhost:8300/出現(xiàn)json字符串即表示成功,同時說明WDA安裝成功了)。

查看當前設(shè)備

地址后面添加/status可以查看當前設(shè)備(你使用的哪個設(shè)備運行,就是哪個設(shè)備的狀態(tài))的狀態(tài)。---http://localhost:8300/status,獲取與wda通信session id

【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕,教程專區(qū),開發(fā)日記匯,appium

?手機桌面app

?iOS15 以上打開屏幕會出現(xiàn)黑色影子,15 一下會閃退,需要 xcode 附加調(diào)試才能運行

【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕,教程專區(qū),開發(fā)日記匯,appium

第一部完成

web-driver-agent 就算安裝完了。

開始第二部分

實現(xiàn)自動點擊,和滑動,界面文字獲取,等操作...

實現(xiàn)原理

? ? ? 本身?web-driver-agent 就是 一個服務(wù)器,我們在寫app安裝到手機,調(diào)用本機127.0.0.1服務(wù)器接口。

點擊/滑動 接口

+ (NSArray *)routes
{
  return
  @[
    [[FBRoute POST:@"/wda/touch/perform"] respondWithTarget:self action:@selector(handlePerformAppiumTouchActions:)],
    [[FBRoute POST:@"/wda/touch/multi/perform"] respondWithTarget:self action:@selector(handlePerformAppiumTouchActions:)],
    [[FBRoute POST:@"/actions"] respondWithTarget:self action:@selector(handlePerformW3CTouchActions:)],
  ];
}
要調(diào)用本地服務(wù)器,需要先獲取一個sessionId

訪問?http://127.0.0.1:8100/status 可以得到若sessionId字段為空,

【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕,教程專區(qū),開發(fā)日記匯,appium

就訪問? /session? 創(chuàng)建

POST?http://127.0.0.1:8100/session?

Body?

NSString *body = @"{\"capabilities\":{\"firstMatch\":[{\"arguments\":[],\"environment\":{},\"eventloopIdleDelaySec\":0,\"shouldWaitForQuiescence\":true,\"shouldUseTestManagerForVisibilityDetection\":false,\"maxTypingFrequency\":60,\"shouldUseSingletonTestManager\":true,\"shouldTerminateApp\":true}],\"alwaysMatch\":{}}}";

獲取session完整代碼
- (IBAction)noButtonhttp:(id)sender {
    //get請求
    //[self reqWithMethod:0];
    
    [xddHttp reqWithMethodxdd2:@"http://127.0.0.1:8100/status" Method:0 HTTPBody:@"" Block:^(NSURLResponse * _Nonnull response, NSDictionary * _Nonnull dic) {
        
        NSString *sessionId = dic[@"sessionId"];
        NSLog(@"請求成功-status-sessionId=%@",sessionId);
        iPhoneSessionId = sessionId;
        if ([sessionId isKindOfClass:[NSNull class]]) // 字符串為空
        
            NSString *body = @"{\"capabilities\":{\"firstMatch\":[{\"arguments\":[],\"environment\":{},\"eventloopIdleDelaySec\":0,\"shouldWaitForQuiescence\":true,\"shouldUseTestManagerForVisibilityDetection\":false,\"maxTypingFrequency\":60,\"shouldUseSingletonTestManager\":true,\"shouldTerminateApp\":true}],\"alwaysMatch\":{}}}";
            
            [xddHttp reqWithMethodxdd2:@"http://127.0.0.1:8100/session" Method:1 HTTPBody:body Block:^(NSURLResponse * _Nonnull response, NSDictionary * _Nonnull dic) {
                NSString *sessionId = dic[@"sessionId"];
                NSLog(@"請求成功-session-sessionId=%@",sessionId);
                iPhoneSessionId = sessionId;
        }];
            
        }
    }];
    
    
}
拿到session

及可以去點擊,滑動,獲取屏幕信息了。

我測試每 10 秒手機屏幕自動上滑一次

創(chuàng)建定時器
+(void)myTimers{
    userarr = [self testArr];
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        // 在這里執(zhí)行你的任務(wù)
        //[self goo:nil];
    });
    
    myTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(goo:) userInfo:nil repeats:YES];
    
}
每秒加一到 10 ,就執(zhí)行一次滑動屏幕
+(void)go{
    GlobalVariableName = @"g0";
    userindex = userindex + 1;
    NSLog(@"定時器查: %d",userindex );
    //if(userindex %3 == 0){
    if(userindex  == 10){
        userindex=0;
        NSLog(@"開始滑動: %@",@"-------------------");
        NSString*url = [NSString stringWithFormat:@"http://127.0.0.1:8100/session/%@/wda/touch/perform",iPhoneSessionId];
        //點擊
        NSString*body = @"{"actions":[{"action":"tap","options":{"x":131,"y":248}}]}";
        
        //滑動
        body=@"{\"actions\":[{\"action\":\"press\",\"options\":{\"x\":111,\"y\":392}},{\"action\":\"wait\",\"options\":{\"ms\":500}},{\"action\":\"moveTo\",\"options\":{\"x\":112,\"y\":161}},{\"action\":\"release\",\"options\":{}}]}";
        [xddHttp reqWithMethodxdd2:url Method:1 HTTPBody:body Block:^(NSURLResponse * _Nonnull response, NSDictionary * _Nonnull data) {
            NSLog(@"滑動結(jié)果: %@",data);
        }];
    }
    
    
}
實現(xiàn)效果

web-driver-agent_appium-自動滑動

手機需要保持后臺運行,定時器一直運行

保持后臺運行參考代碼

iOS 關(guān)于后臺持續(xù)運行https://gitee.com/vww/BgTaskDemo文章來源地址http://www.zghlxwxcb.cn/news/detail-718389.html

到了這里,關(guān)于【iOS免越獄】利用IOS自動化web-driver-agent_appium-實現(xiàn)自動點擊+滑動屏幕的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • IOS自動化測試環(huán)境搭建教程

    IOS自動化測試環(huán)境搭建教程

    目錄 一、前言 二、環(huán)境依賴 1、環(huán)境依賴項 2、環(huán)境需求與支持 三、環(huán)境配置 1、xcode安裝 2、Git安裝 3、Homebrew安裝(用brew來安裝依賴) 4、npm和nodejs安裝 5、libimobiledevice安裝 6、idevicesinstaller安裝 7、ios-deploy安裝 8、Carthage安裝 9、Appium安裝 【我安裝的appium版本:1.21.0】 10、

    2024年02月15日
    瀏覽(31)
  • 從0開始的ios自動化測試

    從0開始的ios自動化測試

    最近由于工作內(nèi)容調(diào)整,需要開始弄ios自動化了。網(wǎng)上信息有點雜亂,這邊我就按我的實際情況,順便記錄下來,看是否能幫到有需要的人。 安裝tidevice 它的作用是,幫你繞開ios必須用mac的xcode啟動wda,直接在windows上使用tidevice啟動wda就行了(windows電腦需要先安裝iTunes)。

    2024年02月09日
    瀏覽(48)
  • 【iOS自動化測試】第一章:方案調(diào)研

    【iOS自動化測試】第一章:方案調(diào)研

    目前Android端已完成了相應的框架搭建,并實際落地產(chǎn)出了,由于Android使用的是Unittest+HtmlTestRunner產(chǎn)出報告,需要增加新功能的話需要改動到底層框架,所以目前在負責的iOS端打算采用Pytest+Allure方式來進行,優(yōu)點是更好的插件支持,報告也會更好看(裝逼)點 PS:Android端自動

    2024年02月09日
    瀏覽(27)
  • iOS自動化測試工具-tidevice

    iOS自動化測試工具-tidevice

    在iOS測試過程中,經(jīng)常會需要查看設(shè)備udid、查看包名,安裝和卸載應用,獲取設(shè)備截圖,獲取性能數(shù)據(jù)等操作,Android有豐富的adb命令可以使用,iOS的tidevice工具就類似于Android的adb,可以提供這些功能; 一直以來也沒有能夠直接獲取iOS性能數(shù)據(jù)的工具,tidevice可以方便的獲取

    2024年01月22日
    瀏覽(90)
  • 怎樣在iOS手機上進行自動化測試

    怎樣在iOS手機上進行自動化測試

    Airtest支持iOS自動化測試,在Mac上為iOS手機部署iOS-Tagent之后,就可以使用AirtestIDE連接設(shè)備,像連接安卓設(shè)備一樣,實時投影、控制手機。iOS測試不僅限于真機測試,iOS模擬器也可以進行。Mac端上部署完成后還可以提供給同一局域網(wǎng)內(nèi)的windows上遠程連接使用。同時支持airtest圖

    2024年02月04日
    瀏覽(24)
  • 如何在iOS手機上進行自動化測試

    如何在iOS手機上進行自動化測試

    ?? 視頻學習:文末有免費的配套視頻可觀看 ???關(guān)注公眾號【互聯(lián)網(wǎng)雜貨鋪】,回復 1?,免費獲取軟件測試全套資料,資料在手,漲薪更快 Airtest支持iOS自動化測試,在Mac上為iOS手機部署iOS-Tagent之后,就可以使用AirtestIDE連接設(shè)備,像連接安卓設(shè)備一樣,實時投影、控制手

    2024年02月20日
    瀏覽(24)
  • 如何使用IOS自動化測試工具UIAutomation

    如何使用IOS自動化測試工具UIAutomation

    這篇文章主要介紹了UIAutomation使用實例、應用技巧、基本知識點總結(jié)和需要注意事項,具有一定的參考價值 第一部分: 熟悉Instruments的UIAutomation. 第二部分: 控件的獲取及操作 第三部分: 自定義自動化腳本 xcode中自帶的Instuments工具可以用來進行APP的自動化測試, 以及用于進行內(nèi)

    2024年02月03日
    瀏覽(291)
  • Window搭建IOS App自動化測試環(huán)境

    Window搭建IOS App自動化測試環(huán)境

    平臺搭建 :tidevice(Windows逆向通信iOS工具)+WebDriverAgent(iOS通信服務(wù))+facebook-wda(iOS測試框架) macOS+Xcode:在手機上安裝WebDriverAgent的時候需要用到,必須要Xcode工具構(gòu)建,構(gòu)建完就不依賴了。 工具介紹: 1、tidevice ? ? ? ? 在window系統(tǒng)可以跑IOS自動化腳本,得力于tidevice這

    2024年02月10日
    瀏覽(25)
  • iOS系統(tǒng)下輕松構(gòu)建自動化數(shù)據(jù)收集流程

    iOS系統(tǒng)下輕松構(gòu)建自動化數(shù)據(jù)收集流程

    在當今信息爆炸的時代,我們經(jīng)常需要從各種渠道獲取大量的數(shù)據(jù)。然而,手動收集這些數(shù)據(jù)不僅耗費時間和精力,還容易出錯。幸運的是,在現(xiàn)代科技發(fā)展中有兩個強大工具可以幫助我們解決這一問題——Python編程語言和iOS設(shè)備上預裝的Shortcuts App。 首先讓我們來了解一下

    2024年02月10日
    瀏覽(21)
  • IOS手機和車機互聯(lián)自動化測試

    IOS手機和車機互聯(lián)自動化測試

    在酷熱的夏天,提前打開空調(diào);在寒冷的冬天,提前加熱座椅和方向盤。這些貼心的功能都是通過手機遠程控制汽車實現(xiàn)的。隨著汽車新四化的進程推進,類似手機和車機連接的功能必然越來越多。 作為汽車行業(yè)的工程師,我們都知道每一個功能的背后,都離不開反反復復的

    2024年02月10日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包