簡體   English   中英

當被調用時browser.saveScreenshot()掛起

[英]browser.saveScreenshot() hangs when called

嗨,我正在為Cordova應用程序編寫自動化測試。 我想保存每個頁面的屏幕截圖,這是我的代碼。

 it("should take screenshot", function() {
     return browser.contexts().then(function(cnt){
         console.log(cnt[1]);
         return browser.context(cnt[1]);
           }).then(function(){
             return browser.saveScreenshot("/Users/User/Documents/dev/engineerappcopy/VGimages/nexLogin.png")
});
});

這是我的Appium控制台:

[HTTP] --> GET /wd/hub/session/610d95af-6501-4c72-ac38-0184a8608dfd/screenshot {}
[MJSONWP] Driver proxy active, passing request on via HTTP proxy
[JSONWP Proxy] Proxying [GET /wd/hub/session/610d95af-6501-4c72-ac38-0184a8608dfd/screenshot] to [GET http://127.0.0.1:9515/wd/hub/session/4d5f3f8a24e28f7fbf65eebc47cc02d8/screenshot] with body: {}

[HTTP] --> GET /wd/hub/status {}

[MJSONWP] Calling AppiumDriver.getStatus() with args: []

[MJSONWP] Responding to client with driver.getStatus() result: {"build":{"version":"1.5.3"...
[HTTP] <-- GET /wd/hub/status 200 14 ms - 83 

我是自動化和JS的新手,感謝您的任何建議。

事實證明savescreenshot()與cordova應用程序不兼容。 但是我確實找到了解決方案!

使用以下命令,我們可以直接從仿真器截屏:

adb pull /sdcard/screenshot.png screenshot.png
adb shell /system/bin/screencap -p /sdcard/screenshot.png

那么我們如何以編程方式做到這一點呢? 好nodeJS的'child_process'可以調用命令到終端!

      it("should take screenshot", function() {
    const exec = require('child_process').exec;
    exec('adb shell /system/bin/screencap -p /sdcard/tester.png', (error, stdout, stderr) => {
       if (error) {
         console.error(`exec error: ${error}`);
         return;
       }
       console.log(`stdout: ${stdout}`);
       console.log(`stderr: ${stderr}`);
    });
    exec('adb pull /sdcard/tester.png tester.png', (error, stdout, stderr) => {
           if (error) {
             console.error(`exec error: ${error}`);
             return;
           }
           console.log(`stdout: ${stdout}`);
           console.log(`stderr: ${stderr}`);
        });


});

因此,使用類似^的內容,我可以將屏幕截圖保存到仿真器sd卡中,然后將該屏幕截圖拉到我的目錄中!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM