黑马程序员技术交流社区

标题: web自动化实现自动登陆 [打印本页]

作者: 黑色兽兽    时间: 2018-6-21 00:35
标题: web自动化实现自动登陆
本帖最后由 黑色兽兽 于 2018-6-21 00:41 编辑

一、自动化测试 与 人工测试
在开始编写用例之前,我们先来思考下自动化测试和人工测试的区别。对于web页面的人工测试,我们想下,如果去测试,怎么操作呢?不外乎如下的基本动作:
1)打开浏览器
2)输入url (前提web服务器要正常启动运行着)
3)等待页面显示出来
4)用眼睛看页面显示的内容是否与自己想象的一致,如果一致,认为功能正常,否则,会认为程序有问题。
5)通过鼠标、键盘执行相关的操作,通过页面的变化和内容显示继续进行检查功能是否正常。
那么什么是自动化测试呢?其本质就是将人的操作过程(打开浏览器、输入url、鼠标点击、键盘输入等)以及验收标准(在人脑中验收)转换为测试代码。
有了测试代码,就可以让其自动运行了。
二、有了测试流程,下面我们开始编写代码
这里我给大家准备了一个简单登陆页面
                    登陆
下面是html代码
<p id="p1">
   <label for="userA">账号A</label>
   <input type="text" name="userA" id="userA" placeholder="账号A" required="" value="">      
</p>
<p>
   <label for="passwordA">密码A</label>   
   <input type="password" name="passwordA" id="passwordA" placeholder="密码A" value="">
</p>
       <input type="button" value="登陆" id="login">
分析:登陆需要输入用户名和密码,然后再点击登陆按钮 。要想输入用户名和密码,必须先获取这两者元素的唯一属性,给其输入值代码:   
    #1、导入包 selenium  和 webdriver(浏览器驱动)   
     import selenium
     from selenium import webdriver
    #2、实例化浏览器对象,为了方便后面的代码使用,咱们给它用一个变量进行接收   
     driver = webdriver.Firefox()
   #3、接下来就是打开我们要登陆的页面   
url = r"http://我们要登陆的页面"   
     driver.get(url)       
#4、获取用户名和密码的元素唯一属性,这里我们可以通过登陆页面的html代码不难看出,
#可以使用id 进行获取并输入值    
     driver.find_element_by_id("userA").send_keys("admin")                                             driver.find_element_by_id("passwordA").send_keys("123456")       
#5、用户名和密码输入完之后,进行点击登陆按钮进行提交登陆  
  driver.find_element_by_id("login").click()
代码小解释:      
获取元素属性的方法有好多种如:通过 id、tag_name、css....      这里可以根据个人喜好进行选择使用什么方法获取元素属性

三、小结
本篇文章,我通过一个登录例子来介绍了selenium+webdriver在web界面自动化测试上的基本应用。虽然比较简单,但已经把代码编写的每一步步骤做了介绍。其它功能的自动化代码与之区别在于用例的复杂程度区别(比如准备测试条件、用例执行步骤、结果验证的复杂性、用例执行影响的清理)。后续会为大家一一介绍。
         




作者: wuqiong    时间: 2018-6-21 09:07

作者: 不二晨    时间: 2018-6-21 09:27
非常专业了
作者: 魔都黑马少年梦    时间: 2018-6-21 14:25
666
作者: 小影姐姐    时间: 2018-6-26 09:27
加油努力,相信自己
作者: 不二晨    时间: 2018-6-26 09:49
上海分校-小影 发表于 2018-6-26 09:27
加油努力,相信自己






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2