1.简介
前边几篇文章是宏哥自己在本地弄了一个单选和多选的demo,然后又找了网上相关联的例子给小伙伴或童鞋们演示了一下如何自动化测试,这一篇宏哥在网上找了一个问卷调查,给小伙伴或童鞋们来演示一下。上一篇中的一些单选和多选的基本概念都介绍了,这里就不做赘述了。直接上项目实战。
2.项目实战
2.1问卷调查
1.测试问卷调查的地址:
https://www.sojump.com/m/2792226.aspx/
2.问卷页面,如下图所示:
2.2答题思路
自动化测试答题思路,其实和前边单选多选的遍历差不多,具体思路如下:
1.首先找到所有单选和多选按钮的共同点。
2.使用共同点来定位单选和多选按钮,将其放在list容器中。
3.利用for循环将其(单选和多选按钮)从容其中一一遍历出来,进行click。
2.3代码设计
根据答题中的遍历思路进行代码设计如下图所示:
2.4参考代码
package lessons;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
/**
* @author 北京-宏哥
*
* 《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)
*
* 2021年10月27日
*/
public class RadioTest {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.get("https://www.sojump.com/m/2792226.aspx/");
Thread.sleep(1000);
// 把单选按钮放在一个list里面
ArrayList<WebElement> answer_options = (ArrayList<WebElement>) driver.findElements(By.xpath("//*/div[@id='divQuestion']/fieldset/div/div/div/span/input/../a"));
for(WebElement ele : answer_options){
ele.click();
Thread.sleep(1500);
}
}
}
2.5运行代码
1.运行代码,右键Run AS->java Application,控制台输出,如下图所示:
2.运行代码后电脑端的浏览器的动作,如下小视频所示:
3.小结
好了,今天其实就是对前边单选和多选循环的一次总结和实践。其他的也没有新的东西,今天就分享到这里,感谢您耐心的阅读!
每天学习一点,今后必成大神-
往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):
Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试
Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南
Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架
Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架
Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程