1. 程式人生 > >robotframework切換webview(Android)

robotframework切換webview(Android)

問題:

在用robot寫手機app的自動化時,開啟商城商品詳情頁H5頁面立即購買確認支付用例;

需要切換到對應的webview,切換到webview後,點選商品詳情頁-立即購買,跳轉到支付頁面,支付確認頁面也是H5,

與商品詳情頁頁面的webview一樣,此時點選立即購買頁面的元素,提示找不到元素,用get source獲取商品詳情頁面原始碼,

獲取到的原始碼是第一個商品詳情頁的立即購買頁面的原始碼,所以在商品詳情頁面執行操作找不到元素。

解決:

在商品詳情頁面點選立即購買後,先切換回NATIVE_APP,再重新切換回對應的webview(WEBVIEW_aye_com.aye_aye_paste_android),此後就能執行商品詳情頁面的元素了

步驟:
前提是:debug包,讓安卓開發人員在H5頁面開啟webview的許可權:
1.設定webview.setWebContentsDebuggingEnabled(true);
不一定要更改原來的webview繼承的父類,先看現在已有的繼承父類有沒有這個屬性,如果有,就先開啟就行了;
2.沒有webviewsetWebContentsDebuggingEnabled此屬性:
就繼承:

      public class MyActivity  extends CordovaActivity {
    CordovaWebView cwv;
    /**
     * Called when the activity is first created.
     */
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { this.appView.setWebContentsDebuggingEnabled(true); } // Set by <content src="index.html" /> in config.xml
loadUrl(launchUrl); } }

robotframework程式碼:

@{contexts} Get Contexts    #獲取原生app跟webview的名稱
Log Many    @{contexts} #打印出原生app跟webview名稱
${cur_context} Get Current Context #得到當前app內容
log ${cur_context} #列印當前app內容名稱
Switch To Context   WEBVIEW_aye_com.aye_aye_paste_android   #切換到webview
${cur_context} Get Current Context #得到當前app內容
log ${cur_context} #列印當前app內容名稱
${page}    Log Source  #獲取當前webview的原始碼
log ${page}    #列印當前webview的原始碼
Page Should Contain Text    立即購買    
Click Element   xpath=//div[contains(@class,'addPurchase')] #立即購買
Wait Until Page Contains    確定  
Click Element   xpath=//div[contains(@class,'addPurchase')] #確定
Wait Until Page Contains    結算  
Click Element   xpath=//a[@class="am-button am-button-warning"] #結算
Wait Until Page Contains    
Click Elementxpath=//a[@class="am-button am-button-primary"]

原理是:原生APP頁面跳轉到H5頁面(webview),然後再定位xpath;
這裡寫圖片描述

相關推薦

robotframework切換webview(Android)

問題: 在用robot寫手機app的自動化時,開啟商城商品詳情頁H5頁面立即購買確認支付用例; 需要切換到對應的webview,切換到webview後,點選商品詳情頁-立即購買,跳轉到支付頁面,支付確認頁面也是H5, 與商品詳情頁頁面的webview一樣,

robotframework切換webview

appium ons con and teardown oba lose name set app中有webview的情況 手機淘寶的天貓國際頁面是一個webview robotframework代碼: *** Settings *** Suite Setup Suit

Appium 測試 Android 切換Webview 報錯問題

在測混合應用時,經常需要在Webview 和 Native 模式之間切來切去,有時更新了Appium 或者換個測試手機,原來執行的好好的指令碼卻報錯了,重要的還是檢視報錯資訊,根據資訊在網上查詢解決方案。 切換Webview報錯時,基本是webview 和 c

appium+python自動化41-切換webview時候報chromedriver版本問題

雙擊 advance text Once auto dev mman IE 界面 前言 用appium切換webview的時候報chrome和chromedriver版本的問題:session not created exception: Chrome version mu

Appium切換webview時候報chromedriver版本問題

版本 ESS must sta except window 功能 advance 1.7 前言 用appium切換webview的時候報chrome和chromedriver版本的問題:session not created exception: Chrome versio

RobotFramework+appiumLibrary測試android實現“滑動頁面判斷元素是否存在”

在RF中,定位不在當前螢幕的元素,為了解決android測試中這個問題,我查閱了很多資料,看到web端測試有一個focus的關鍵字解決了這個問題,但是android沒有找到相關的解決辦法,沒辦法 ,我自己只能簡單的使用for迴圈和判斷實現了這個問題! 我的思路: 在for

webView--AndroidwebView載入H5時,H5頁面在不同的手機可能出現文字或者圖示類似換行的現象

@Override  public Resources getResources() { Resources res = super.getResources(); Configuration config=new Configuration(); config.setToDefaults(); res.up

WebView android sdk 25載入“file:///..."失敗解決

String url = "file:///android_asset/chars/charts.html"; if (webView != null) { webView.loadUrl(url); } 報錯: I/chromium: [INFO

Android橫豎屏切換總結(Android資料收藏)

Android橫豎屏切換總結(Android資料) Android橫豎屏要解決的問題應該就兩個: 一.佈局問題 二.重新載入問題 1.佈局問題:如果不想讓軟體在橫豎屏之間切換,最簡單的辦法就是在專案的AndroidManifest.xml中找到你所指定的activi

Ubuntu14.04搭建jdk1.6和jdk1.7可切換android編譯環境。

1.Download JDK 1.6 由於Android使用的是sun/oracle jdk1.6,所以需要下載對應的jdk。現提供一個下載地址如下:http://www.oracle.com/technetwork/java/javase/downloads/java-a

WebView---Android與js互動例項

Android 中可以通過webview來實現和js的互動,在程式中呼叫js程式碼,只需要將webview控制元件的支援js的屬性設定為true Android(Java)與JavaScript(HTML)互動有四種情況: 1) Android(Java)呼叫HTML中j

遊戲如何不用unity打包 切換Android打包

首先開啟unity 然後 點選File —BulitSettings出現這樣的介面 打出來的工程就是一個Android工程 然後匯入Android工程進行操作 點選右鍵 選擇import 點選 然後選擇你unity匯出的工程 匯入Andr

【親測】Appium測試Android混合應用時,第二次切換WebView失敗

源碼 drivers asc 切換 ole setup client module already 要解決的問題:Appium測試Android混合應用時,第二次切換到WebView時失敗 原因分析:在用Appium測試Android混合應用時,當程序第一次切換到WebV

android控制webview音訊播放 本地/web播放源切換

這篇文章寫在音訊已經從網路上 通過擷取url並下載的方式下載到本地之後 url格式:emodou://mp3player?action=play&src=xx/xx/xx.mp3 web端點選播放時,web呼叫android的 play(url) 和 pause(

Android 動畫進階之動畫切換

ram 屏幕 pre 退出 tac 旋轉動畫 utf 轉動 XML 一、Activity切換動畫   在Android開發中,經常會遇到Activity之間切換效果,下面介紹一下,Activity左右滑動切換效果。在Android2.0以後版本,在Activity中添加了

Android Studio之Activity切換動畫(三)

文章 oid out size ref intel tar studio anim 1、上一篇文章“Android Studio之多個Activity的滑動切換(二)”中實現了多個activity之間的滑動切換,可是新切換出的activity大多是從右側進入 2、我們能

Android PullToRefresh 下拉刷新,上拉很多其它,支持ScrollView,ListView,可方便拓展GridView,WebView

包含 ict 重置 refresh 分享 .com img tar fcm 在寫著東西之前。從網上找到非常多這方面的源代碼,可是基本沒有找到愜意的。包含在GitHub上的比較有名的Android-PullToRefresh-master。思來想去還是自己寫吧。當然當中借

WebView與JavaScript交互--Android

btn 讀取 toa hand xmlns url get div util 轉載請註明出處: http://blog.csdn.net/forwardyzk/article/details/46819925 在工作中,有一個這種需求,須要用到WebView

Android軟鍵盤狀態的切換及其強制隱藏

padding protected systems -m ride apk undle inb new MainActivity例如以下: package cc.c; import android.os.Bundle; import android.view.View

Android實戰簡易教程-第二十六槍(基於ViewPager實現微信頁面切換效果)

stat addview data android tid des viewpage 聊天 == 1.頭部布局文件top.xml:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and