浏览器测试
[chrome://version/] #查看版本
定位元素
from selenium import webdriver
from time import sleep
driver=webdriver.Chrome('C:selenuim_driverchromedriver.exe')
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
driver.find_e
sleep(3)
driver.quit()
webdriver属性
driver.name #浏览器名称
driver.current_url 当前url
driver.title 当前页面标题
driver.page_source 当前页面源码
driver.current_window_handle # 窗口句柄
driver.window_handles #当前窗口所有句柄
from time import sleep
from selenium import webdriver
class TestCase():
def __init__(self):
self.driver=webdriver.Chrome()
self.driver.get('http://www.baidu.com')
self.driver.maximize_window()
# 常用属性
def test_prop(self):
print(self.driver.name)
print(self.driver.title)
print(self.driver.current_url)
print(self.driver.window_handles) #窗口句柄
print(self.driver.page_source) #页面源码
# 常用方法
def test_method(self):
self.driver.find_element_by_id('kw').send_keys('selenium')
self.driver.find_element_by_id('su').click()
sleep(2)
self.driver.back() #返回
self.driver.refresh() #浏览器刷新
self.driver.forward() # 前进
self.driver.close() # 关闭当前tab窗口
self.driver.quit() #退出浏览器
self.driver.switch_to_frame() #切换到frame
self.driver.switch_to_active_element() #切换到活动元素
if __name__ == '__main__':
case=TestCase()
case.test_prop()
case.test_method()
webelement核心方法和属性
1、定位元素之后会返回一个webelement对象,该对象用来描述web页面上的一个元素
测试网站:sahitest.com/demo/
webelement.id 标识
webelement.size 宽高
webelement.rect 宽高和坐标
webelement.tag_name 标签名称
webelement.text 文本内容
webelement方法
当要找的标签没有id等属性时,可以使用xpath,比如form表单
from selenium import webdriver
from time import sleep
class TestCase():
def __init__(self):
self.driver=webdriver.Chrome()
self.driver.get('http://sahitest.com/demo/linkTest.htm')
def test_webelement_prop(self):
e = self.driver.find_element_by_id('t1')
print(type(e))
print(e.size) #input 框大小
print(e.id) #内部id唯一的
print(e.tag_name)
print(e.rect) #包含界面坐标
# 方法
def test_webelement_method(self):
e=self.driver.find_element_by_id('t1')
e.send_keys('hello world')
sleep(2)
e.clear()
print(e.get_attribute('type'))
print(e.get_attribute('name'))
print(e.get_attribute('value'))
print(e.value_of_css_property('font'))
print(e.value_of_css_property('color'))
sleep(2)
e.clear()
def test_method2(self):
form_element=self.driver.find_element_by_xpath('/html/body/form[1]')
form_element.find_element_by_id('t1').send_keys('bala')
# 实现窗口切换
def test_windows(self):
self.driver.find_element_by_link_text('新闻').click()
windows=self.driver.window_handles
for w in windows:
self.driver.switch_to_window(w)
sleep(2)
if __name__ == '__main__':
case=TestCase()
case.test_webelement_prop()
case.test_method2()