Pycharm+seleniumUi自动化测试

一、前言

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。

二、环境配置

1、首先要安装pycharm
2、用pip安装selenium
3、安装chrome浏览器驱动,在【帮助】—【关于chrome】可以查看浏览器版本
4、这是chrome的驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
下载完一般是放在py的根目录下面,这个随意,只要找好对应版本即可,如果没有的话可以找离浏览器最近的版本号

三、语句用法

1、前进、后退、关闭浏览器

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://cn.bing.com/")
driver.maximize_window() #将浏览器最大化显示
driver.back() #后退
driver.forward() #前进
driver.close() #关闭chrome
driver.quit() # 退出chrome
Pycharm+seleniumUi自动化测试_第1张图片
2、定位方法

 

1、通过 id 定位:find_element_by_id()
2、通过 name 定位:find_element_by_name()
3、通过 class 定位:find_element_by_class_name()
4、通过 tag 定位:find_element_by_tag_name()
5、通过 link 定位:find_element_by_link_text()
6、通过 partial_link 定位:find_element_by_partial_link_text()
7、通过 xpath 定位:find_element_by_xpath()
8、通过 css 定位:find_element_by_css_selector()
9、复数形式↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

3、控制鼠标键盘(点击事件)

from selenium import webdriver #引入 Keys 类包
from selenium.webdriver.common.keys import Keys #引入 ActionChains 类
from selenium.webdriver.common.action_chains import ActionChains

right =driver.find_element_by_xpath("xx") #对定位到的元素执行鼠标右键操作

ActionChains(driver).context_click(right).perform() #对定位到的元素执行鼠标双击操作

ActionChains(driver).move_to_element(right).perform() #对定位到的元素执行鼠标左键按下的操作

ActionChains(driver).drag_and_drop(element, target).perform() #键盘事件 #删除多输入的一个 值

driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE) #输入空格键

driver.find_element_by_id("kw").send_keys(u"教程") #ctrl+x 剪切输入框内容

driver.execute_script("window.scrollBy(300,3000)")向下滚动(数值为浏览器x、y轴坐标)
Pycharm+seleniumUi自动化测试_第2张图片
总结:

 

1、浏览器的常用 方法:前进,后退,刷新,关闭窗口,关闭浏览器。
2、如何安装selenium -python pip install selenium
3、打开浏览器 webdriver.ChromDriver(“driver的地址”)
4、识别与定位技术:共16种方法,8种 find_element正常, 8种复数find_elements形式返回列表
5、键鼠点击事件

 

你可能感兴趣的:(python,数据库开发)