zoukankan      html  css  js  c++  java
  • 自动化测试基础篇--Selenium单选框(Radio)复选框(CheckBox)

    摘自:https://www.cnblogs.com/sanzangTst/p/7686602.html

    一、什么是单选框、复选框?

    二、单选框:radio

    三、复选框:checkbox

    四、判断是否勾选:is_selected()

    1.有时候这个选项框,本身就是选中状态,如果我再点击一下,它就反选了,这可不是我期望的结果,那么可不可以当它是没选中的时候,我去点击下;当它已经是选中状态,我就不点击呢?那么问题来了:如何判断选项框是选中状态?
    2.判断元素是否选中这一步才是本文的核心内容,点击选项框对于大家来说没什么难度。获取元素是否为选中状态,打印结果如下图。
    3.返回结果为bool类型,没点击时候返回False,点击后返回True,接下来就很容易判断了,既可以作为操作前的判断,也可以作为测试结果的判断。

    五、HTML Demo源码

     

    复制代码
     1 <html>  
     2     <head>  
     3         <meta http-equiv="content-type" content="text/html;charset=utf-8" />  
     4         <title>Checkbox</title>  
     5     </head>  
     6     <body>  
     7         <h3>复选框:CheckBox</h3>  
     8         <form>  
     9             <!-- <label for="c1">checkbox1</label> -->  
    10             <input type="checkbox" id="c1" />checkbox1<br>  
    11             <!-- <label for="c2">checkbox2</label> -->  
    12             <input type="checkbox" id="c2" />checkbox2<br>  
    13             <!-- <label for="c3">checkbox3</label> -->  
    14             <input type="checkbox" id="c3" />checkbox3<br>  
    15         </form>  
    16         <h3>单选:Radio</h3>
    17         <form>  
    18             <label  value="radio"></label>   
    19             <input type="radio"   name="sex" value="male" id="as"/><br>  
    20             <label  value="radio1"></label>  
    21             <input type="radio"   name="sex" value="female" id="sd"/>  
    22         </form> 
    23 <!-- <form>  
    24 <input type="radio" name="sex" value="male" /> Male  
    25 <br />  
    26 <input type="radio" name="sex" value="female" /> Female  
    27 </form> -->    
    28     </body>  
    29 </html>
    复制代码

     

    六、参考代码

     

    复制代码
     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 # @File    : checkboxx.py
     4 # @Software: PyCharm
     5 from selenium import webdriver
     6 import time
     7 
     8 url = 'file:///C:/Users/Administrator/Desktop/demo.html'
     9 browser = webdriver.Chrome()
    10 browser.get(url)
    11 
    12 def radioo():
    13     # 单选框定位、勾选
    14     radios = browser.find_elements_by_id('as')
    15     for radio in radios:
    16         radio.click()
    17         time.sleep(2)
    18     time.sleep(2)
    19 
    20 def checkboxx():
    21     # 复选框定位、勾选
    22     inputs = browser.find_elements_by_tag_name('input')
    23     for input in inputs:
    24         if input.get_attribute('type') == 'checkbox':
    25             input.click()
    26             time.sleep(2)
    27     browser.find_elements_by_css_selector('input[type=checkbox]').pop().click()
    28     time.sleep(2)
    29 
    30 def is_select():
    31     # 勾选前判断是否勾选
    32     t = browser.find_element_by_id('c1').is_selected()
    33     print(t)
    34     browser.find_element_by_id('c1').click()
    35     # 点击后判断是否勾选
    36     r = browser.find_element_by_id('c1').is_selected()
    37     print(r)
    38     browser.quit()
    39 if __name__ == '__main__':
    40     radioo()
    41     checkboxx()
    42     is_select()
    复制代码
  • 相关阅读:
    eclipse如何与git 配合工作。
    git托管代码(二)
    PPC2003 安装 CFNET 3.5成功
    我的Window Mobile WCF 項目 第三篇 WM窗体设计
    我的Window Mobile WCF 項目 第一篇Mobile开发和WinForm开发的区别
    我的Window Mobile WCF 項目 第七天
    我的Window Mobile WCF 項目 第二篇 WindowsMobile访问WCF
    WCF 用vs2010 和 vs2008的简单对比测试
    vs2010beta1 和 搜狗输入法 冲突,按下 Ctrl 键就报错,重装搜狗解决
    我的Window Mobile WCF 項目 第六天 (二)
  • 原文地址:https://www.cnblogs.com/yuer20180726/p/10789363.html
Copyright © 2011-2022 走看看