您的位置:首页 > 编程语言 > Python开发

一只自动化测试小白的学习记录——Python+Selenium+Sublime 运用API、元素定位、元素操作方法、鼠标键盘事件实现入门Web自动化测试

2018-03-25 13:09 441 查看
题外话:之前做一些自动化测试的入门实验都是用的Python的IDLE进行编写的,正儿八经的好处(可以一行一行地运行,因此能够直观地看到对于网页测试的每一步变化,也能够明确地知道在哪一步出了错),不知所云的坏处(没有一下子运行脚本程序的成就感?????(黑人严肃脸)) 。
于是,本人切换成了Sublime Text工具。当然,最好还是,IDLE和Sublime Text一起使用,效果更佳(这是官方术语)。
回到the theme,我们在做功能测试的时候,即输入用例再点点点,自动化测试则是将这一个过程转变成由计算机自己实现输入内容再点击的功能。But,不管是人工测试还是自动化测试,对于一个网站,我们在输入用例以及鼠标点击之前,必须先进行打开网页、找到输入的对话框、输入内容、找到确认按钮的位置、点击的行为。人工测试可以用大脑和手来操作,而自动化测试则是需要使用API、元素定位、鼠标键盘事件来实现上述过程。
1.什么是API英文老师告诉我们(哪里来的英文老师?????),API的全称是:Application Programming Interface,我个人理解成这就是一开始先定义好的一些函数(接口),然后在我们开发测试的过程中,需要调用它们来访问并实现一些功能,应该就是".xxx"的作用(我还是个孩子,如果有错误,还麻烦大佬指正)
2.一些元素定位的方法这里的元素,指的就是所打开的网页里面,一些需要被测试的部分个体(比如:输入框,确认按钮,返回按钮等),系统为我们提供的方法是:xx=driver.find_element_by_xxx(及通过xxx来找到元素xx,driver指的是定义的浏览器),常见的方法有:①find_element_by_id("id名称")②find_element_by_name("name名字")③find_element_by_class_name("定义的class的name即class")④find_element_by_tag_name("类型名称比如对话框是input")⑤find_element_by_link_text("所含文本的内容 精确定位")⑥find_element_by_partial_link_text("所含文本的内容 模糊定位")⑦find_element_by_xpath("路径定位")⑧find_element_by_css_selector("网页所含css样式定位")
当然了,这些方法在敲入“.”之后都会自动弹出的:


3.元素操作方法①element.clear() 清楚元素中的内容②element.send_keys() 输入元素中的内容③element.click() 点击④element.submit() 提交表单
4.鼠标键盘事件我们知道,要想使用webdriver是必须从selenium中import的。那么,要想使用一些和鼠标键盘相关的事件,我们也需要import。鼠标:from selenium.webdriver.common.action_chains import ActionChains 来模拟鼠标的一些行为 具体如下:①context_click()  右击事件②double_click()  双击事件③drag_and_drop() 鼠标拖动时间④move_to_element() 将鼠标停留在一个元素上⑤click_and_hold() 对一个元素按下鼠标左键不动最后加上:perform()来执行鼠标行为
键盘:from selenium.webdriver.common.keys import Keys(注意:前一个k小写 后一个K大写)①send_keys(Keys.BACK_SPACE) 退格②send_keys(Keys.CONTROL,"a") 全选③send_keys(Keys.CONTROL,"c") 复制④send_keys(Keys.CONTROL,"v") 粘贴⑤send_keys(Keys.CONTROL,"x") 剪切⑥send_keys(Keys.ENTER)回车

好啦 以上就是这两天学习的总结啦
附上一份简单的测试脚本代码:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐