【学习心得】自动化测试工具selenium速查

(一)什么是selenium

1、selenium是一个自动化测试工具,说人话就是用代码操控浏览器

2、selenium脚本的8个组成部分

        ① 实例化浏览器对象

        ② 获取浏览器信息

        ③ 请求访问页面

        ④ 查找定位元素

        ⑤ 操作元素

        ⑥ 动作链/行为链

        ⑦ 获取元素信息

        ⑧ 延时等待

(二)webdriver模块

1、WebDriver对象

        ① 实例化WebDriver对象 driver

                浏览器分类

                        webdriver.Chrome()

                        webdriver.Firefox()

                        webdriver.Edge()

                        webdriver.Safari()

                浏览器选项

                        options

        ② 属性

                driver.page_source 网页源代码                 

                driver.current_url 当前标签页或者窗口所请求的url地址

                driver.window_handles 窗口句柄列表

        ③ 方法

                driver.get()

                作用:对一个URL发送请求

                driver.find_element()

                作用:定位指定的一个元素

                参数:by=指定定位方法,value=指定具体的值

                定位方式

                        By这个类要在 from selenium.webdriver.common.by import By 导入

                By.ID

                        根据标签id属性定位

                By.NAME

                        根据标签name属性定位

                By.CLASS_NAME

                        根据标签class属性定位

                By.TAG_NAME

                        根据标签名称定位

                By.LINK_TEXT

                        根据被标签包裹的文字定位

                By.CSS_SELECTOR

                        根据CSS选择器来定位

                By.XPATH

                        根据Xpath路径查询语言来定位

                返回值:一个WebElement对象

                driver.find_elements()

                作用:定位指定的所有元素

                参数:by=指定定位方法,value=指定具体的值

                返回值:一个由WebElement对象组成的列表

                driver.get_cookie()

                作用:获取一个名叫xxx的cookie

                参数:name=你想要获取的cookie名字

                driver.get_cookies()

                作用:获得所有的cookie

                返回值:一个由字典组成的列表

                driver.execute_script()

                作用:执行JavaScript脚本

                打开新标签页

                        "window.open('http://httpbin.org/ip')"

                滚动滚动条

                        移动到页面最底部

                                “window.scrollTo(0, document.body.scrollHeight)”

                                document.body.scrollHeight属性是获取当前HTML文档的最底部高度

                移动到相对当前位置的坐标

                        “window.scrollBy(0, 700)”

                移动到绝对位置

                        “window.scrollTo(0, 1200)”

                        整个窗口的绝对位置x=0, y=1200

                driver.close()

                作用:关闭当前标签页或者窗口

                driver.quit()

                作用:关闭整个浏览器

                driver.forward()

                作用:前进到下一个页面

                driver.back()

                作用:后退到上一个页面

                driver.set_window_size()

                作用:设置浏览器窗口大小

                参数:宽和高

                driver.implicitly_wait()

                作用:隐式等待你传入的指定时长

④ switch_to模块

方法

driver.switch_to.window()

  1. 作用:打开一个窗口(就多一个窗口在桌面上了)
  2. 参数:窗口句柄或者窗口名称

driver.switch_to.new_window()

  1. 作用:打开一个新标签或者窗口
  2. 参数:'tab'新标签页,'window'新窗口

2、WebElement对象

① 属性

        tag.text

        获取标签中的文字内容

        tag.id

        获取节点ID

        tag.location

        获取节点在页面中的相对位置

        tag.tag_name

        获取节点的标签名

        tag.size

        获取节点的宽高大小

② 方法

        tag.send_keys()

        作用:向指定的标签元素发送值

        参数:你想要发送的key值

        tag.clear()

        作用:清空元素中送入的内容

        tag.click()

        作用:点击这个元素

        tag.get_attribute()

        作用:获取标签节点的属性值

        参数:你想要获取的属性名称

        tag.find_element()

        作用:可以接着在已定位的标签中继续寻找想要的标签

        WebDriver对象和WebElement对象都有这个方法

3、ActionChains对象

① 实例化 ActionChains 对象 actions

        ActionChains(driver)

② 方法

        actions.move_to_element()

        作用:鼠标移动到指定元素

        参数:指定元素

        actions.send_kyes_to_element()

        作用:向元素中输入值

        参数:元素,值

        actions.click()

        作用:点击元素

        参数:你想点击的元素

        actions.drag_and_drop()

        作用:将source元素,拖动到target元素位置

        参数:source一开始的位置,target拖动后的位置

        actions.perform()

        作用:执行所定义的动作

4、WebDriverWait对象

① 实例化 WebDriverWait 对象 wait

        from selenium.webdriver.support.ui import WebDriverWait

        他是一个等待对象,需要传入driver对象和等待时长

        wait = WebDriverWait(driver, 100)

② 方法

        until()

        作用:传入等待条件,函数会一直等到条件出现或者你之前设置的最大时间到达后退出等待

        参数:excepted_conditions 期待条件

(三)expected_conditions模块

1、期待条件函数

presence_of_element_located()

作用:判断期待的元素是否出现

参数:传入一个定位器它是一个元组,例如(By.ID, 'id_name')

element_to_be_clickable()

作用:判断期待的元素是否出现并且能被点击

参数:传入一个定位器或者是WebElement对象

alert_is_present()

作用:判断是否出现警告框

猜你喜欢

转载自blog.csdn.net/qq_39780701/article/details/128229943
今日推荐