1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 软件测试(6)----web自动化测试(selenium)

软件测试(6)----web自动化测试(selenium)

时间:2021-08-25 03:25:56

相关推荐

软件测试(6)----web自动化测试(selenium)

from selenium import webdriver

from selenium.webdriver import ActionChains

import time

‘’’

f= webdriverameChrome()

最大化

famemaximize_window()

获取浏览器尺寸

size=f.get_window_size()

print(size)

设置窗口大小

f.set_window_size(400,400)

获取位置

pos=f.get_window_position()

print(pos)

设置窗口位置

f.set_window_position(100,100)

print(f.get_window_position())

#关闭浏览器,关闭当前标签

f.close()

关闭所有标签

f.quit()

访问url

url1=‘’

f.get(url1)

print(“访问:”,f.current_url)

f.get(“http://www.abreact.top”)

print(“访问:”,f.current_url)

#显示页面标题

print(“title:”,f.title)

#保存快照

f.get_screenshot_as_file(‘baidu.png’)

f.get_screenshot_as_png()

#源码

code=f.page_source

#源码保存

with open(‘abreact.html’,‘wb’) as f:

f.write(code.encode())

f.close()

#---------------------------------------------------------------------------------------------------------------------

– 百度搜索abreact.top—

#元素定位分类:1.直接调用型(推荐):driver.find.element_by_xxx(value) 2.by方法:from mon.by import By driver.find_element(By.xxx.value)

f=webdriver.Chrome()

url=‘’

f.get(url)

#定位标签

el=f.find_element_by_id(‘kw’)

el.send_keys(‘bareact.top’)

el_click=f.find_element_by_id(‘su’)

time.sleep(5)

#对标签进行点击操作

el_click.click()

f.close()

#-------------------------------------------------------------------------------------------------------------------

定位方式: 1.id定位 2.name定位 3.class name类名定位

4.tag name标签名定位 5.link text链接文本定位

6.partial link text部分链接文本 7.xpath定位 8.css selector选择器定位

#访问去哪儿网

url=‘/’

f=webdriver.Chrome()

f.get(url)

#定位’攻略’

id1=f.find_element_by_id(‘link_travel’)

#点击攻略

id1.click()

time.sleep(5)

id2=f.find_element_by_id(‘link_car’)

id2.click()

time.sleep(5)

#主要练习通过id进行定位

#abreact.top网站登陆

url=‘http://www.abreact.top/login/’

user=‘root’

pds=‘12’

f=webdriver.Chrome()

f.get(url)

name=f.find_element_by_name(‘loginName’)

name.send_keys(user)

pd=f.find_element_by_name(‘loginPwd’)

pd.send_keys(pds)

sub=f.find_element_by_id(‘sub’)

time.sleep(3)

sub.click()

time.sleep(3)

f.close()

#--------------------------------------------------------------------------------------------------------------------

#打开百度 输入selenium 再清空 再输入python 再提交

url=‘’

f=webdriver.Chrome()

f.get(url)

el1=f.find_element_by_id(‘kw’)

el1.send_keys(‘selenium’)

el1.clear()

el1.send_keys(‘python’)

el2=f.find_element_by_id(‘su’)

el2.submit()

time.sleep(3)

f.close()

#获取51job中测试工程师职位信息

url=‘/list/200000,000000,0000,00,9,99,%2B,2,1.html?lang=c&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare=’

f=webdriver.Chrome()

f.get(url)

el1=f.find_element_by_name(‘keyword’)

el1.send_keys(‘测试工程师’)

el2=f.find_element_by_class_name(‘p_but’)

el2.click()

el3=f.find_elements_by_css_selector(’.el .t1 span a’)

for i in el3:

print(i.text,i.get_attribute(‘href’))

‘’’

#----------------------------------------------------------------------------

#selenium api 高级用法

#一、多标签切换

#1.获得所有窗口句柄 : headlers = driver.window_headlers()

#获得的值为每个窗口对应的值

#2.通过句柄值进入窗口:driver.switch_to_window(headlers[n])

‘’’

url=‘/weixin_43576564’

f=webdriver.Chrome()

f.get(url)

handles_list=f.window_handles

el1=f.find_elements_by_css_selector(’.article-list div h4 a’)

print(f.window_handles)

for i in el1:

print(i.text,i.get_attribute(‘href’))

i.click()

f.switch_to.window(handles_list[0])

time.sleep(5)

print(f.window_handles)

#------------------------------------------------------------------------------

#多表单切换 两种方式:

1.直接切换:driver.switch_to.frame(‘frame标签的id值’)

2.先对frame标签定位,再使用switch_to.frame函数

#实例:进行qq邮箱登陆

url=‘/’

f=webdriver.Chrome()

f.get(url)

el=f.find_element_by_name(‘login_frame’)

f.switch_to.frame(el)

#f.switch_to.frame(‘login_frame’)

el1=f.find_element_by_id(‘u’)

el1.clear()

el1.send_keys(‘215658134’)

el2=f.find_element_by_id(‘p’)

el2.send_keys(‘215658qq’)

el3=f.find_element_by_id(‘login_button’)

el3.click()

#---------------------------------------------------------------------------

#多表单切换

#处理方法:

#1、跳回最外层页面:driver.switch_to.default_content()

#2、跳到上层页面:driver.switch_to.parent_frame()

f=webdriver.Chrome()

url=r’file:///Y:/BaiduNetdiskDownload/%E5%B0%B1%E4%B8%9A%E7%8F%AD6-20%E9%83%A8%E5%88%86/13_%E5%B0%B1%E4%B8%9A%E7%8F%AD%E4%B9%8Bweb%E7%AB%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95%EF%BC%88%E5%85%B182%E9%9B%86%EF%BC%89/web%E8%87%AA%E5%8A%A8%E5%8C%96day04/04-%E6%BA%90%E4%BB%A3%E7%A0%81/code/example_frame.html’

f.get(url)

f.switch_to.frame(‘itcast_frame1’)

f.switch_to.frame(‘itcast_frame2’)

el1=f.find_element_by_id(‘sb_form_q’)

el1.send_keys(‘selenium’)

el2=f.find_element_by_id(‘sb_form_go’)

el2.click()

el3=f.find_element_by_id(‘sb_form’)

print(“在第二层frame中”)

#返回最初的表单

f.switch_to.default_content()

try:

el4=f.find_element_by_id(‘sb_form’)

except:

print(“在第一层frame中”)

#---------------------------------------------------------------------------

#对鼠标进行操作

#1、导入相应的动作链类,可以存储鼠标操作,并一起执行

f=webdriver.Chrome()

f.get(‘’)

el1=f.find_element_by_css_selector(’#lg’)

#鼠标右键操作

ActionChains(f).context_click(el1).perform()

#---------------------------------------------------------------------------

#鼠标在京东分类框悬停

url=‘/’

f=webdriver.Chrome()

f.get(url)

el1=f.find_elements_by_class_name(‘cate_menu_item’)

for i in el1:

ActionChains(f).move_to_element(i).perform()

time.sleep(1)

f.quit()

#---------------------------------------------------------------------------

#对键盘操作

#导入from mon.key import Key

#常见操作: send_keys(Keys.SPACE)、send_keys(Keys.BACK_SPACE)、send_keys(Keys.TAB)、send_keys(Keys.Esc)、

send_keys(Keys.ENTER)、send_keys(Keys.CONTROL,‘a’)、send_keys(Keys.CONTROL,‘c’)、send_keys(Keys.F1)、…

from mon.keys import Keys

f=webdriver.Chrome()

f.get(‘’)

el2=f.find_element_by_id(‘kw’)

el2.send_keys(‘selenium’)

el3=f.find_element_by_id(‘su’)

el2.send_keys(Keys.CONTROL,‘a’)

time.sleep(1)

el2.send_keys(Keys.CONTROL,‘x’)

time.sleep(1)

el2.send_keys(Keys.CONTROL,‘v’)

el3.click()

f.quit()

#---------------------------------------------------------------------------

#弹窗的操作

#实例:访问百度主页》点击设置》搜索设置》保存设置

url=‘http://www.abreact.top/moveMove/?id=&movenm=%E2%80%9C%E5%90%83%E5%90%83%E2%80%9D%E7%9A%84%E7%88%B1’

f=webdriver.Chrome()

f.get(url)

el1=f.find_element_by_id(‘sub’)

el1.click()

f.switch_to.alert.dismiss()[accept()、text()、send_keys()]

‘’’

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。