《手把手教你》系列技巧篇(三十四)-java+ selenium自动化测试-单选和多选按钮操作-中篇(详解教程)

简介: 【4月更文挑战第26天】这篇文章主要介绍了如何使用Java和Selenium进行Web自动化测试,特别是针对单选按钮的操作。作者首先介绍了文章的主要内容,包括本地的一个小demo和利用JQueryUI网站的实战。在demo部分,提供了HTML代码,并详细解释了遍历单选按钮的思路和代码设计。在实战部分,展示了如何在JQueryUI网站上操作单选按钮,并给出了相应的代码示例。文章最后还包含了代码运行的效果展示。

1.简介

今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮。大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战。

2.demo准备

2.1demo页面的HTML代码

1.这里宏哥为了省事节约时间就直接用上一篇中那个radio.html。如下:

DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>测试单选title>

   <style type="text/css">

       .button1 {

           background-color: #f44336; 

           border: none;

           color: white;

           padding: 15px 32px;

           text-align: center;

           text-decoration: none;

           display: inline-block;

           font-size: 28px;

           margin: 20px 300px 50px 300px;

           text-decoration:none;

           color: white;

       }

       #myAnchor

       {

         text-decoration:none;

         color: white;

       }

       #hg

       {

           margin: 20px 300px 50px 300px;

       }

   style>

head>

<body>

   <button class="button1"><a id="myAnchor" href="https://www.cnblogs.com/du-hong/">北京-宏哥a>button>br>

   <div id="hg">

       <div>

       <h3>复选框 checkboxh3> 请选择喜欢的打野英雄:<br>

       <label><input name="checkbox1" type="checkbox" value="李白"/>李白 label><br>

       <label><input name="checkbox2" type="checkbox" value="韩信"/>韩信 label><br>

       <label><input name="checkbox3" type="checkbox" value="公孙离" checked="checked"/>公孙离 label><br>

       <label><input name="checkbox4" type="checkbox" value="露娜"/>露娜 label><br>

       div>

       <div>

           <h3>单选框 radioh3> 选择喜欢的打野英雄:<br>

           <label><input name="radio" type="radio" value="0" checked="checked"/>李白 label><br>

           <label><input name="radio" type="radio" value="1"/>韩信 label><br>

           <label><input name="radio" type="radio" value="2"/>露娜 label><br>

           <label><input name="radio" type="radio" value="3"/>孙尚香 label><br>

       div>

   div>

body>

html>

2.页面效果,如下图所示:

2.2单选遍历

遍历思路:

1.首先找到所有单选按钮的共同点。

2.使用共同点来定位单选按钮,将其放在list容器中。

3.利用for循环将其从容其中一一遍历出来。

2.3代码设计

根据上边的遍历思路进行代码设计如下图所示:

2.4参考代码

package lessons;


import java.util.List;

import java.util.concurrent.TimeUnit;


import org.junit.Test;

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月20日

*/

public class operatRadio {

   

   @Test

   public void testRadio() {

       System.setProperty("webdriver.gecko.driver", ".\\Tools\\chromedriver.exe");

       

       WebDriver driver =null;

       driver =new ChromeDriver();

       driver.get("file:///C:/Users/DELL/Desktop/test/radio.html");

       try{

           driver.manage().window().maximize();

           driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

           List dx = driver.findElements(By.name("radio"));  //将name属性为radio的所有单选按钮对象,存储到一个list容器中

           //使用for循环遍历list容器中的每一个单选按钮,查找value=2的单选按钮

           for ( WebElement d : dx ){  

               //如果查询到此按钮没有被选中,则单击选择                          

               if ( d.getAttribute("value").equals("2")){

                   if ( !d.isSelected())

                       d.click();

               }

           }

           

           Thread.sleep(2000);

           

      }catch (Exception e) {

         

          e.printStackTrace();

         

      }finally {

         

          driver.quit();

     

      }

  }

}

2.5运行代码

1.运行代码,右键Run AS->Junit Test,控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作,如下小视频所示:

3.JQueryUI网站

3.1被测网址

1.被测网址的地址:

https://jqueryui.com/resources/demos/checkboxradio/default.html

2.网页如下图:

3.2代码设计

根据demo中的遍历思路进行代码设计如下图所示:

3.3参考代码

package lessons;


import java.util.List;

import java.util.concurrent.TimeUnit;


import org.junit.Test;

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月20日

*/

public class operatRadio {

   

   @Test

   public void testRadio() {

       System.setProperty("webdriver.gecko.driver", ".\\Tools\\chromedriver.exe");

       

       WebDriver driver =null;

       driver =new ChromeDriver();

       driver.get("https://jqueryui.com/resources/demos/checkboxradio/default.html");

       try{

           driver.manage().window().maximize();

           Thread.sleep(2000);

           driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

           List dx = driver.findElements(By.xpath("//*/div/fieldset[1]/label/span[1]"));  //将name属性为radio的所有单选按钮对象,存储到一个list容器中

           //使用for循环遍历list容器中的每一个单选按钮

           for ( WebElement d : dx ){  

               //按遍历顺序依次点击按钮

               d.click();

               Thread.sleep(1000);

           }

      }catch (Exception e) {

         

          e.printStackTrace();

         

      }finally {

         

         // driver.quit();

     

      }

  }

}

3.4运行代码

1.运行代码,右键Run AS->Junit Test,控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作,如下小视频所示:

4.小结

  好了时间不早了,今天就分享到这里!!!


每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):


Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程


相关文章
|
29天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
3月前
|
Java 开发者 UED
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
57 3
|
7天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
7天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
7天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
|
16天前
|
JSON Java Maven
实现Java Spring Boot FCM推送教程
本指南介绍了如何在Spring Boot项目中集成Firebase云消息服务(FCM),包括创建项目、添加依赖、配置服务账户密钥、编写推送服务类以及发送消息等步骤,帮助开发者快速实现推送通知功能。
44 2
|
24天前
|
Java 数据库连接 编译器
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
|
27天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
本系列教程笔记详细讲解了Kotlin语法,适合希望深入了解Kotlin的开发者。对于需要快速学习Kotlin的小伙伴,推荐查看“简洁”系列教程。本篇笔记重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android库开发建议以及相互调用时的注意事项。
22 3
|
29天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
21 3
|
29天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
下一篇
无影云桌面