zoukankan      html  css  js  c++  java
  • selenium自动化

    浏览器测试

    https://chromedriver下载

    [chrome://version/]   #查看版本
    

    定位元素

    from selenium import webdriver
    from time import sleep
    driver=webdriver.Chrome('C:selenuim_driverchromedriver.exe')
    driver.get('http://www.baidu.com')
    driver.find_element_by_id('kw').send_keys('selenium')
    driver.find_element_by_id('su').click()
    driver.find_e
    sleep(3)
    driver.quit()
    

    webdriver属性

    driver.name   #浏览器名称
    driver.current_url 当前url
    driver.title    当前页面标题
    driver.page_source   当前页面源码
    driver.current_window_handle   # 窗口句柄
    driver.window_handles     #当前窗口所有句柄
    
    
    
    from time import sleep
    
    from selenium import webdriver
    class TestCase():
        def __init__(self):
            self.driver=webdriver.Chrome()
            self.driver.get('http://www.baidu.com')
            self.driver.maximize_window()
            
        # 常用属性
        def test_prop(self):
            print(self.driver.name)
            print(self.driver.title)
            print(self.driver.current_url)
            print(self.driver.window_handles)  #窗口句柄
            print(self.driver.page_source)  #页面源码
            
        # 常用方法
        def test_method(self):
            self.driver.find_element_by_id('kw').send_keys('selenium')
            self.driver.find_element_by_id('su').click()
            sleep(2)
            self.driver.back()   #返回 
            self.driver.refresh()  #浏览器刷新
            self.driver.forward()   # 前进
            self.driver.close() # 关闭当前tab窗口
            self.driver.quit()      #退出浏览器
            self.driver.switch_to_frame()  #切换到frame
            self.driver.switch_to_active_element()   #切换到活动元素
    if __name__ == '__main__':
        case=TestCase()
        case.test_prop()
        case.test_method()
    

    webelement核心方法和属性

    1、定位元素之后会返回一个webelement对象,该对象用来描述web页面上的一个元素
    测试网站:sahitest.com/demo/

    webelement.id   标识
    webelement.size   宽高
    webelement.rect  宽高和坐标
    webelement.tag_name    标签名称
    webelement.text        文本内容
    

    webelement方法

    当要找的标签没有id等属性时,可以使用xpath,比如form表单

    from selenium import  webdriver
    from time import  sleep
    class TestCase():
        def __init__(self):
            self.driver=webdriver.Chrome()
            self.driver.get('http://sahitest.com/demo/linkTest.htm')
    
        def test_webelement_prop(self):
            e = self.driver.find_element_by_id('t1')
            print(type(e))
            print(e.size)   #input 框大小
            print(e.id)    #内部id唯一的
            print(e.tag_name)
            print(e.rect)   #包含界面坐标
    
        # 方法
        def test_webelement_method(self):
            e=self.driver.find_element_by_id('t1')
            e.send_keys('hello world')
            sleep(2)
            e.clear()
    
            print(e.get_attribute('type'))
            print(e.get_attribute('name'))
            print(e.get_attribute('value'))
            print(e.value_of_css_property('font'))
            print(e.value_of_css_property('color'))
            sleep(2)
            e.clear()
    
        def test_method2(self):
            form_element=self.driver.find_element_by_xpath('/html/body/form[1]')
            form_element.find_element_by_id('t1').send_keys('bala')
        
        # 实现窗口切换
        def test_windows(self):
            self.driver.find_element_by_link_text('新闻').click()
            windows=self.driver.window_handles
    
            for w in windows:
                self.driver.switch_to_window(w)
                sleep(2)
    if __name__ == '__main__':
        case=TestCase()
        case.test_webelement_prop()
        case.test_method2()
    
    微信:jinmuqq222
  • 相关阅读:
    虚拟机Centos安装docker小记
    Python selenium入门
    selenium Error
    DveOps路线指南
    DevOps
    Go语言常量和变量
    安装Go语言及环境的搭建
    Win10 搭建IIS服务
    linux 上搭建sftp服务
    linux小命令
  • 原文地址:https://www.cnblogs.com/jinmuqq222/p/14638759.html
Copyright © 2011-2022 走看看