前置步骤,创建工程(可以testng或普通工程),这里默认是创建的testng工程,前面文章中有讲如何配置好testng工程

当前很多微信小程序都是H5实现,这章主要是讲如何测试H5自动化。

直接上代码

首先:编写了一个公共在网页端打开H5页面的类

package Public;import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.ui.WebDriverWait;
import data.PubValue;import page.Login_PO;public class PublicFuction {public WebDriver my_dr;public WebDriverWait wait;PubValue pv = new PubValue();//可以注释掉, PubValue类中主要放了预制参数,chromDriver路径等等// H5自动化启动public void mobile(WebDriver my_dr, WebDriverWait wait, String URL) throws InterruptedException {System.setProperty("webdriver.chrome.driver", pv.chromeDriver);//--pv.chromeDriver 的启动路径,这里可以写死Map<String, String> mobileEmulation = new HashMap<String, String>();// 设置设备,例如:Google Nexus 7/Apple iPhone 6// mobileEmulation.put("deviceName", "Google Nexus 7");// mobileEmulation.put("deviceName", "iPhone 6 Plus");// //这里是要使用的模拟器名称,就是浏览器中模拟器中的顶部型号mobileEmulation.put("deviceName", "iPhone X");Map<String, Object> chromeOptions = new HashMap<String, Object>();chromeOptions.put("mobileEmulation", mobileEmulation);DesiredCapabilities capabilities = DesiredCapabilities.chrome();capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);try {System.out.println("开始启动driver~~~");my_dr = new ChromeDriver(capabilities);wait = new WebDriverWait(my_dr, 10);my_dr.get(URL);System.out.println("启动driver成功~~~");} catch (Exception e) {System.out.println("启动driver失败~~~");System.out.println(e.getMessage());}this.my_dr = my_dr;this.wait = wait;}}

编写用例,调用写好的公共类

package testCase.H5;import org.testng.annotations.Test;import Public.PublicFuction;
import Public.SqlFuction;
import data.PubValue;
import page.H5.AddArchivesSurvey_PO;
import util.ExcelUtil;import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
/****/
public class AddArchiversSurvey {PubValue pv = new PubValue();PublicFuction pc = new PublicFuction();SqlFuction sf = new SqlFuction();AddArchivesSurvey_PO as = new AddArchivesSurvey_PO();//定位页面元素的类,当然初学者也可以注释掉,如果@Test(description="启动类")     public void testAddArchiversSurvey() throws Exception {// 启动H5页面pc.mobile(pc.my_dr, pc.wait, pv.archivesSurveyURL);//pv.archivesSurveyURL 访问的H5的页面Thread.sleep(5000);WebDriver my_dr = pc.my_dr;WebDriverWait wait = pc.wait;//打开页面,后续就可以开展H5自动化,H5页面的自动化跟web端一样Thread.sleep(2000);my_dr.quit();}}

这个是一个简单的教你如果使用java+selenium就能构建到H5页面的自动化,具体操作步骤,跟普通的web前端一样

Web端(微信小程序)H5+java+selenium自动化相关推荐

  1. APP自动化_操作微信小程序/H5页面实现自动化_多终端并行

    APP自动化_混合App自动化理论相关 原理:本质是混合app,应该用切入webview的方法去自动化web页面. 现状:目前由于技术原因无法切到webview中做自动化. 方案:采用原生app自动方 ...

  2. 接口测试抓包大法:抓web端的包+抓PC端微信小程序的包

    接口测试现在作为一种主流的,简洁的测试方法,已经逐渐被渗透到功能测试和自动化测试的过程中去,成为测试的必备技能之一,现在就来总结一下工作中常用的抓包方法,供各位学习参考. chrome浏览器自带抓包工 ...

  3. 开发跨端微信小程序框架选型指南

    多端框架uni-app和Taro选型对比 一. 背景 小程序原生开发有不少槽点: 1.原生wxml开发对Node.预编译器.webpack支持不好,影响开发效率和工程构建流程.所以大公司都会用框架开发 ...

  4. 微信小程序登录Java后台接口

    微信小程序登录java后台接口 首先看一下微信小程序的开发文档: 微信小程序开发文档 步骤: 小程序端向微信接口服务发送请求--wx.login():获取到登录临时凭证code 小程序端拿着获取到的c ...

  5. 微信小程序及Java后台测试登录

    微信小程序及Java后台测试登录 文章目录 微信小程序及Java后台测试登录 一.使用的工具以及开发环境 二.微信端登录代码. 第一种方式,使用wx.getUserInfo直接获取微信头像,昵称. 第 ...

  6. ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约

    ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约 目录 1.Geth安装.配置文件.与ETH节点交互 1.1.下载并安装好geth客户端 1.2. ...

  7. 微信小程序与Java后台的通信

    一.写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很明白小程序如何与后台进行通信的, ...

  8. Java小程序post如何传参,微信小程序向Java后台传输参数的方法实现

    微信小程序向Java后台传输参数的方法实现 首先,微信小程序我使用的是微信web开发者工具 想要向后台传输数据,需要在js中写 在微信小程序的官方文档中可以看到一个api叫wx.request它的作用 ...

  9. web前端-微信小程序开发学习

    web前端-微信小程序开发学习 1. 小程序的概述 2. 小程序的项目结构 2.1 小程序项目结构分析 2.2 WXML模版 2.3 小程序的宿主环境 3. 组件 3.1 视图容器类组件 3.2 常用 ...

最新文章

  1. 如何使用Leangoo看板统计中的任务分布?
  2. javascript操作表单
  3. 西安python培训班多少钱-西安中公python培训班靠谱吗
  4. ajax xmlhttp.responsetext,Ajax:xmlhttp.responseText响应显示完整的内部HTML而不是关闭所需文本...
  5. MaCfee导致Asp.net无法发送邮件的解决办法
  6. virtualbox 使用
  7. Microsoft Jet SQL 参考在线手册
  8. Spring Boot 1.5.10 发布:修复重要安全漏洞!!!
  9. redux 思考以及源码解析
  10. 按需要生成你的网站导航栏
  11. 学习笔记(01):MySQL数据库运维与管理-02-设置系统变量
  12. php自动下载 linux,Linux下软件、PHP和Perl的模块等都实现了自动安装
  13. sql azure 语法_在Azure Data Studio中计划SQL笔记本
  14. bzoj3998 [TJOI2015]弦论
  15. 服务器dump文件位置,dump解析入门-用VS解析dump文件进行排障
  16. 组态S7-200Smart间PROFINT通信生成GSDML文件
  17. 理论 - 半波偶极子天线原理与计算
  18. 部分更新没有安装 KB4535102
  19. 运行HQL时,报错:Container killed by YARN for exceeding memory limits
  20. 自定义devexprsss分页控件

热门文章

  1. “LSTM之父”谈AI威胁论:AI将超越人类智力,对人类不感兴趣,呼吁暂停AI是一种误导
  2. 【Android 手势冲突】Colin带你彻底解决RecyclerView与ScrollView滑动冲突问题,并实现RecyclerView悬停导航栏(附demo哦)
  3. 数据结构实验-停车场模拟系统
  4. HTML5新特性总结(一)-新标签
  5. 吸顶灯怎么固定天花板_如何安装天花板电灯
  6. C++中的iterator-second
  7. python openpyxl包excel 绘制 线性图表
  8. Spring Boot + MyBatis :登录注册功能
  9. WatchKit App Submission Issues
  10. Comodo和DigicertSSL证书分别适合什么样的网站