前置
安装Python,安装pycharm,安装selenium,建议使用Chrome driver
项目测试目的
学会Selenium定位web元素的方法 熟练浏览器调试工具使用
项目主体步骤
1) 人工走一遍流程,对自动化的流程心中有数 2) 按步骤拆分,然后对每一个小步骤编写自动化脚本 3) 将所有步骤合起来,多次运行,测试脚本
需要完整项目或者需要项目源码的点击下面自行获取
项目内容
1.打开12306
#打开网址
driver.get('https://kyfw.12306.cn/otn')
#睡五秒自动选择验证码
time.sleep(5)
2.登录12306 1)在chrome界面,按F12快捷键,弹出chrome的调试工具 2)找出登录按钮的id和username、password的id
根据id定位元素
driver.find_element_by_id("username").click()
driver.find_element_by_id("username").send_keys("5xxxx68397@qq.com")
driver.find_element_by_id("password").send_keys("***")
print("continue")
time.sleep(15)
根据链接的文本来定位元素
driver.find_element_by_link_text("车票预订").click()
time.sleep(5)
3.选择出发地
4.利用js代码冻结浏览器界面。
#出发地选择
driver.find_element_by_id("fromStationText").click()
# setTimeout(function(){debugger;}, 5000)
driver.find_element_by_css_selector(u"[title=广州]").click()
time.sleep(5)
5.右击代码位置,选择copy selector
6.选择出发日
项目细节
项目细节
1、不会破解12306的变态验证码。没有自动破解验证码,所以留五秒钟自己手动选验证码。 2、因为是学生认证所以多一步需要确认(不是学生可去掉) 3、订票成功
项目总结
自动化测试的优点是能够很快、很广泛地查找缺陷,同时可以做很多重复性的工作,在回归测试阶段,我们可以利用自动化功能测试工具进行,而无须大量的软件测试人员手动的再次执行测试用例,极大的提高了工作效率。
自动化测试的缺点也很明显,它们只能检查一些比较主要的问题,如崩溃、死机,但是却无法发现一些一般的日常错误,这些错误通过人眼很容易找到,但机器却往往找不到。另外,在自动测试中编写测试脚本工作量也很大,有时候该工作量甚至超过了手动测试的时间。
Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程数等。所以不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。
Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的。但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的。需要开发人员规范开发习惯,如给页面元素加上唯一的name,id等,这样就能大大地提高元素定位的准确性。