selenium2java写一个设置秒杀价的脚本

2023-12-25 05:30

本文主要是介绍selenium2java写一个设置秒杀价的脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本人在使用selenium做测试的时候,有时候需要去后台管理界面去设置一些测试数据,所以写了一些脚本,有一个比较有代表性的,因为这里的设置按钮和课程详情并不在一个页面,而是在列表页面。所以查找起来比较麻烦。先分享代码,供大家参考。

先放一下后台的页面和xml信息:

下面是我的代码:

//设置秒杀价public void setSeckillPriceByCourseId(int courseId, int price) throws InterruptedException {clickCourse();//点击进去课程列表clickFormalCourse();//选择班课列表int status = findCourseByIdAndSetSeckillPrice(courseId, price);//根据courseid查找班课设置秒杀价if (status != 2) {outpu(status, "设置秒杀价失败!");}}

下面是具体的方法:

	/** 分页遍历课程,查找相应班课* 返回值1:找到该课程,2:设置秒杀价完成,3:已经开始秒杀,4前四页未找到该课程*/public int findCourseByIdAndSetSeckillPrice(int courseId, int price) throws InterruptedException {int times = 0;//标记页面int mark = 0;//标记状态sleep(0);while(true) {times++;List<WebElement> seckills = findElementsByPartialText("秒杀");//获取所有秒杀状态按钮集合for (int i = 0; i < seckills.size(); i++) {//遍历集合中所有元素//获取date_course_id,来判断是否是等于参数id,然后点击String course = seckills.get(i).getAttribute("data-course_id");//获取该元素对应课程idif (course.equals(courseId+"")) {//比较idmark = 1;//更改标记,表示发现课程String status = seckills.get(i).getText();//获取秒杀状态
//					output(status);if (status.equals("开始秒杀")) {scrollToElement(seckills.get(i));//滚动到该元素clickByJs(seckills.get(i));//通过js点击sleep(0);findElementByIdAndClearSendkeys("input-modal_promotion_price", price);//设置秒杀价findElementByIdAndClick("btn-ok-product_promotion");//确定boolean key = true;while(key){//等待保存完毕,再次确认if (exists(By.xpath("/html/body/div[7]/h2")) && getTextByXpath("/html/body/div[7]/h2").equals("操作成功")) {key = false;break;}}clickSure();output("设置秒杀价成功!");mark = 2;//更改标记,表示已经完成秒杀} else if (status.equals("结束秒杀")) {output("该课程已经开始秒杀了!");mark = 3;//标记,表示已经在秒杀了output("已经开始秒杀!");}}}//遍历结束if (mark != 0) {return mark;}if (times > 2) {output("未找到该课程!");mark = 4;//更改标记,表示未找到return mark;}}}

中间js滚动到 某个元素的方法:

	//滚动到某个元素public void scrollToElement(WebElement element) {JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript("arguments[0].scrollIntoView(true);", element);}

中间js点击某个元素的方法:

	//通过js点击public void clickByJs(WebElement element) {JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript("arguments[0].click();", element);//第二种点击方法
//		((JavascriptExecutor) driver).executeScript("arguments[0].click()", question);}

技术类文章精选

  1. java一行代码打印心形
  2. Linux性能监控软件netdata中文汉化版
  3. 接口测试代码覆盖率(jacoco)方案分享
  4. 性能测试框架
  5. 如何在Linux命令行界面愉快进行性能测试
  6. 图解HTTP脑图
  7. 如何测试概率型业务接口
  8. httpclient处理多用户同时在线
  9. 将swagger文档自动变成测试代码
  10. 五行代码构建静态博客
  11. httpclient如何处理302重定向
  12. 基于java的直线型接口测试框架初探

非技术文章精选

  1. 为什么选择软件测试作为职业道路?
  2. 成为杰出Java开发人员的10个步骤
  3. 写给所有人的编程思维
  4. 自动化测试的障碍

公众号地图 ☢️ 一起来~FunTester

转载于:https://my.oschina.net/u/3973795/blog/3102723

这篇关于selenium2java写一个设置秒杀价的脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/534388

相关文章

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

Spring Boot 常用注解整理(最全收藏版)

《SpringBoot常用注解整理(最全收藏版)》本文系统整理了常用的Spring/SpringBoot注解,按照功能分类进行介绍,每个注解都会涵盖其含义、提供来源、应用场景以及代码示例,帮助开发... 目录Spring & Spring Boot 常用注解整理一、Spring Boot 核心注解二、Spr

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

如何合理管控Java语言的异常

《如何合理管控Java语言的异常》:本文主要介绍如何合理管控Java语言的异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、Thorwable类3、Error4、Exception类4.1、检查异常4.2、运行时异常5、处理方式5.1. 捕获异常

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin