Selenium+Python 测试对象(控件)的登录操作

来源:互联网 发布:樱井知香痉挛场景 编辑:程序博客网 时间:2024/06/05 14:29

首先,谢谢虫师博客的分享
http://www.cnblogs.com/fnng/p/3183777.html
在此基础上的自学,每天学习一些知识点,并结合应用python编程,希望早日熟悉web的自动化测试。
测试案例:使用Selenium+Python 实现自动登录百度云
1. 测试对象(控件)的定位
使用Chrome浏览器,以登录百度云的用户名和密码为测试对象。
打开百度云URL: http://yun.baidu.com/
如何定位测试对象(登录百度云账号的用户名)?
将鼠标定位在用户名输入框内,然后点击右键,再选择’审查元素’,于是就会出现如下的灰色显示:
input id=”TANGRAM__PSP_4__userName” type=”text” name=”userName” class=”pass-text-input pass-text-input-userName” autocomplete=”off” placeholder=”手机/邮箱/用户名”’`

从这里可以看到该用户名的测试对象的属性信息:
id=”TANGRAM__PSP_4__userName”
type=”text”
name=”userName”
class =”pass-text-input pass-text-input-userName”
那么可以通过find_element_by_id(“TANGRAM__PSP_4__userName”)捕获到用户名的输入框。
同理,可以通过find_element_by_name(“userName”)
find_element_by_class_name(“pass-text-input pass-text-input-userName”)都可以捕获到用户名的输入框。
应用同样的方法,可以由此及彼,推广到其他测试对象的定位。
2. 测试对象的操作
在webdriver中,一般有click,send_keys,clear,sumbit等操作。
click 点击一个按钮
send_keys 在测试对象上模拟按键输入 (这与QTP中WshShell的sendkeys类似的原理)
send_keys(“hello world”) 模拟输入”hello world”
clear 清除测试对象的内容
submit 提交 与click 功能类似
3. 键盘操作
需要加载此模块来模拟键盘操作
from selenium.webdriver.common.keys import Keys
send_keys(Keys.TAB) 模拟TAB键
send_keys(Keys.ENTER) 模拟ENTER键
send_keys(Keys.SPACE)模拟空格键
send_keys(Keys.BACK_SPACE) 模拟删除键
send_keys(Keys.ESPACE)模拟回退键
send_keys(Keys.CONTROL,’a’)模拟全选
send_keys(Keys.CONTROL,’c’)模拟复制
send_keys(Keys.CONTROL,’x’)模拟剪切
send_keys(Keys.CONTROL,’v’)模拟粘贴
4. 脚本附上
该脚本的功能,主要实现:
1)自动打开百度云网站
2)自动输入百度云的用户名和密码,自动登录
3)用键盘Keys.TAB 和Keys.ENTER实现换行和回车功能

from selenium import webdriverfrom selenium.webdriver.common.keys import Keys   import os  import time      browser=webdriver.Chrome()url='http://yun.baidu.com/'   #进入网页   browser.get(url)time.sleep(3)#窗口最大化browser.maximize_window()#定义username,输入信息username=browser.find_element_by_name("userName")username.clear()             username.send_keys("aluXXX")  username.send_keys(Keys.TAB)time.sleep(2)#定义passwordpassword=browser.find_element_by_name("password")password.send_keys("*****")password.send_keys(Keys.ENTER)time.sleep(3)browser.quit() 
0 0
原创粉丝点击