首页 > 其他 > 详细

1-1

时间:2019-08-26 09:36:21      阅读:107      评论:0      收藏:0      [点我收藏+]

 

b = webdriver.chrom()

b.get(‘www,baidu.com‘)

判断是否是百度首页:1,baidu in b.current_url

2,baidu in b.title 

2.元素定位:

ele=find_element_by_id(‘kw‘),

操作:clear,send_keys,

ele.clear(), ele.send_keys(‘hah‘)

b.back退回

class_name就是class

by_tagname就是这行的首个标签,如s_ipt的tag——name是input这一行,平行的这行,不是上面

技术分享图片

第4课:

元素定位

b = webdriver.chrom()

b.maximize_windows()最大化

ele=b.find_element_by_link_text("企业")  --全部文字

ele=b.find_element_by_partial_link_text("企")  --部分文字

css语法:

技术分享图片

ele=b.find_element_by_css_selector(‘input[class=‘‘s_ipt‘‘])  ---也是在同一个水平线上

5课

 xpath定位:xml路径语言--一级一级查找--绝对路径

b.find_element_xpath(‘/htlm/body/form/input‘)

b.find_element_xpath(‘/htlm/body/form/input[2]‘)---可以通过下标来找第几个--下标是从1开始

b.get_attribut(‘type‘)  --可以打印type的值

6课

找所有的input

ele=b.find_element_by_xpath(‘//input[2]‘) ---可以通过下标决定找第几个,从1开始,不弄下标就是代表全部--这是同级的,同级的

也可以根据路径加xpath一起:

b.find_element_by_xpath(‘//form//input[2]‘) --form是input的上一个标签,再通过attribute获取值

2.找父节点

ele=b.find_element_by_xpath(‘//form//input/..‘)  --通过..找父节点,--//是绝对路径遍地整个文档

ele.tag_name --获取父节点的值为form

 

3,查找个数

ele=b.find_element_by_xpath(‘//*[count(input)=2]‘) 

7课:

ele=b.find_element_by_xpath(‘//*[count(input)=2]/..‘) --查找父节点--ele.tag_name

ele=b.find_element_by_xpath(‘//*[=local-name()="input"]/‘) --然后可以attribute获得相应值

ele=b.find_element_by_xpath(‘//*[starts-with(local-name),"i"]‘)  --找出所有以i开头的--ele.tag_name

ele=b.find_element_by_xpath(‘//*[contain(local-name),"i"]‘) --找出包含i的元素

ele=b.find_element_by_xpath(‘//form//*[contain(local-name),"i"]‘) --form下的i元素

ele=b.find_element_by_xpath(‘//form//*[contain(local-name),"i")][last()]‘) --form下的i元素的最后一个元素

ele=b.find_element_by_xpath(‘//form//*[contain(local-name),"i")][last()-1]‘) --form下的i元素的倒数第二个

ele=b.find_element_by_xpath(‘//*[string-length(local-name()=5]‘) --查找元素长度为5的元素

//xxx|//yyy --多个路径查找

8课-鼠标事件

from selenium import webddriver

b = webdriver.chrom()

b.get(‘www.baidu.com‘)

context_click 右击事件

double_click双击事件

drag_and_drop拖动

move_to_element()鼠标停在一个元素上

click_and_hold按下鼠标左键在一个元素上

1,先导入这个模块:

from selenium.webdriver.common.action_chains import ActionChains  --引包

ele = driver.find_element_by_link_text("企业直通班")

ActionChains(driver).move_to_element(ele).perform()--ActionChains(driver)用于生成模拟用户行为,--perform()执行存储行为

sub_ele=driver.find_element_by_link_text("软件测试")

sub_ele.click

键盘事件:先引包 from selenium.webdriver.commom.keys import Keys

send_keys(Keys.BACK_SPACE)退格键

send_keys((Keys.CONTRL,‘a‘)全选

send_keys((Keys.CONTRL,‘v‘)黏贴

send_keys((Keys.CONTRL,‘c)复制

send_keys((Keys.CONTRL,‘x‘)剪切

send_keys((Keys,ENTER)回车

eg: 

b.send_keys("python")

b.send_keys(Keys.BACK_SPACE)  --这样上面的python就少来个‘n’

b.send_keys((Keys.CONTRL,‘c)  --就把pytho复制下来了

查找页面有没有这个字段 --输入python搜索,页面出现python开发字段

b.seng_keys(python)

ele=b.find_element_by_link_text("python 开发")

9课 对话框和登陆

1,对话框去掉可以用xpath直接复制路径,登陆框可以直接用link_text

2,登陆:

account=‘maizi_tast@139.com‘

pwd=‘abc123456‘

ac_ele = b.find_element_by_id("id_account_1")

ac_ele.send_keys(account)

ac_ele = b.find_element_by_id("id_password_1")

ac_ele.send_keys(pwd)

b.find_element_by_id("login_btn").click()

try:

e_erro=b.find_element_by_link_text("该账号格式不正确")

print("错啦")

10课--多窗口切换

b.get(‘http://www.baidu.com‘)  --打开百度

b.find_element_by_id("kw").send_keys("麦子学院") --百度输入框id

b.find_element_by_id("su").click()--百度的百度一下id

b.find_element_by_link_text("专业it职业教育平台").click() ---很多搜索结果-指定结果文字含专业it职业教育平台的点击---这一就有两个窗口来

b.window_handles ---查看有几个句柄--类似有几个窗口,打印的是内存地址

b.switch_to_window(b.window_handles[1]) --切换到第一个窗口,

b.current_url   ---可以查看当前url,看是否切换到第一个窗口

b.current_window_handle   ---查看当前文件句柄的内存地址

b.close()  --关闭

b.quit()--退出

11课--测试脚本中加等待的方法

1,time的sleep方法

2,implicitly_wait()  --设置webdriver的等待时间 --针对所有的

2,WebDriverWait --等待条件满足或者超时后退出--from selenium.webdriver.support.ui import WebDriverWait ---引包 ---针对一个操作-每隔几秒去查找                                                                        

eg:第一种 b.find_element_by_id("kw").send_keys("麦子学院") 

b.implicity_wait(5)

b.find_element_by_id("kw1")  --查找不存在的元素,5秒后退出

第二种:

from selenium.webdriver.support.ui import WebDriverWait 

 

from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
url="http://www.maiziedu.com"
login_text = "登陆"
account ="maizi_test@139.com"
pwd = "abc123456"
def get_ele_time(driver,time,func): ---设置等待的时间,知道啥时候
return WebDriverWait(driver,time).until(func)

def login_test():
d = webdriver.Chrome()
d.get(url)
d.maximize_window()
ele_login = get_ele_time(d,10,lambda d: d.find_element_by_link_text(login_test)
ele_login.click()

account_ele = d.find_element_by_id(‘id_account_1‘)
account_ele.send_keys(‘‘)
account_ele.clear()
account_ele.send_keys(account)

pwd_ele = d.find_element_by_id(‘id_password_1‘)
pwd_ele.clear()
pwd_ele.send_keys(pwd)
d.find_element_by_id("login_btn").click()

try:
d.find_element_by_link_text("该账号格式不正确")
print(‘错啦‘)

except:
print("正确")
d.quit()

if _name_ == ‘_main_‘:
login_test() #运行这个主函数

12课alter对话框处理 --如警告框,确认框,无法通过元素定位
switch_to_alert()--切到alter--返回alter对象
accept 确认
dismiss 取消
send_keys()有输入框才能使用,否则报错
eg:
b.find_element_by_id("alter").click() --出现一个提示框
alter=d.switch_to_alter() --  切换到alter框
type(c) --查看类型

alter.text  --对话框中显示的文字

alter.accept() --提示框就确认啦

13,测试用例设计 --分模块--简单分为5个模块

1,openbrowser

2,openurl

3,findelement

4,sendkeys

5,chechresult

14课,测试用例模块化

 

1-1

原文:https://www.cnblogs.com/star77/p/11409603.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!