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


    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>复选框 checkbox</h3> 请选择喜欢的打野英雄:<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>单选框 radio</h3> 选择喜欢的打野英雄:<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<WebElement> 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<WebElement> 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.小结

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



        感谢您花时间阅读此篇文章,如果您觉得这篇文章你学到了东西也是为了犒劳下博主的码字不易不妨打赏一下吧,让博主能喝上一杯咖啡,在此谢过了!
        如果您觉得阅读本文对您有帮助,请点一下左下角“推荐”按钮,您的将是我最大的写作动力!另外您也可以选择关注我,可以很方便找到我!
        本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/du-hong 欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利!
    个人微信公众号 个人微信
  • 相关阅读:
    Halcon算子翻译——else
    Halcon算子翻译——default
    halcon算子翻译——continue
    Halcon算子翻译——catch
    Halcon算子翻译——case
    生命周期
    输入流输出流
    在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试。
    给你一个网站,你如何测试?
    你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
  • 原文地址:https://www.cnblogs.com/du-hong/p/15410104.html
Copyright © 2020-2023  润新知