笔记5
1、今天课程内容的梳理和总结
from selenium import webdriver import time as t driver=webdriver.Chrome() driver.get('file:///D:/code/testDev/UI%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/%E5%85%83%E7%B4%A0%E5%AE%9A%E4%BD%8D/index.html')
(1)通过id进入到frame的框架里面
driver.switch_to.frame('frame')
(2)通过索引index进入到frame的框架里面
driver.switch_to.frame(0) driver.find_element_by_id('username').send_keys('liuxun') t.sleep(3) driver.qiut()
(3)嵌套框架
driver=webdriver.Chrome() driver.get('file:///D:/code/testDev/UI%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/%E5%85%83%E7%B4%A0%E5%AE%9A%E4%BD%8D/so_index.html') driver.switch_to.frame(0)
bing搜索
driver.find_element_by_id('sb_from_q').send_keys('liuxun') t.sleep(3)
跳出frame框架
driver.switch_to.default_content() driver.find_element_by_id('username').send_keys('liuxun') t.sleep(3) driver.qiut()
(4)QQ邮箱实战嵌套
driver=webdriver.Chrome() driver.get('https://mail.qq.com/') driver.switch_to.frame('login_frame') driver.find_element_by_id('username').send_keys('02230617') t.sleep(3) driver.find_element_by_id('p').send_keys('liuxun0223') t.sleep(3) driver.quit()
(5)网易邮箱实战嵌套
driver=webdriver.Chrome() driver.get('https://mail.163.com/') driver.maximize_window()
通过索引进入到frame框架
driver.switch_to.frame(0)driver.switch_to.frame(0)
邮箱帐户名username
driver.find_element_by_name('email').send_keys('liuxun0223') t.sleep(3)
邮箱密码password
driver.find_element_by_name('password').send_keys('liuxun0617') t.sleep(3) driver.quit()
(6)多窗口的处理
1)循环所有的窗口
2)判断是否是当前窗口
3)如果不是,切换到新的窗口
4)在新的窗口进行操作
5)关闭新的窗口
6)切换到最开始窗口
首先进入到新浪邮箱
driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/')
获取到当前窗口
nowHandler=driver.current_window_handle
点击注册,打开新的窗口
driver.find_element_by_link_text('注册').click() t.sleep(3) allHandlers=driver.window_handles
循环所有的窗口
for handler in allHandlers:
判断是否是当前窗口
if handler!=nowHandler:
切换到新的窗口
driver.switch_to.window(handler) driver.find_element_by_name('email').send_keys('asersty') t.sleep(3) driver.close()
切换到最开始窗口
driver.switch_to.window(nowHandler) driver.find_element_by_id('freename').send_keys('wuyasrtyu') t.sleep(3) driver.quit()
(7)wenElement类方法属性讲解
1)clear():清空
driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/') username=driver.find_element_by_id('freename') username.send_keys('liuxun0223')
2)get_attribute():获取元素属性值(获取输入框里被输入的值)
print('输入的值:',username.get_attribute('value')) t.sleep(3) username.clear() t.sleep(3) driver.quit()
3)is_displayed():是否可见
driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/') forget=driver.find_element_by_link_text('忘记密码?') print('是否可见:',forget.is_displayed()) driver.quit()
4)is_enabled():是否可编辑
driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/') edit=driver.find_element_by_id('freename') print('是否可编辑:',edit.is_enabled()) driver.quit()
5)is_selected():是否被选中
driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/') select=driver.find_element_by_id('store1') print('是否被选中:',select.is_selected()) driver.quit()
(8)下拉框的应用
from selenium.webdriver.support.select import Select driver=webdriver.Chrome() driver.maximize_window() driver.get('file:///D:/code/testDev/UI自动化测试/元素定位/select.html')
操作select,进入到select
sel=driver.find_element_by_name('nr') select=Select(sel) t.sleep(3)
1)按索引的方式定位下拉框
select.select_by_index(1)
2)按value值的方式定位下拉框
select.select_by_value('Java')
3)按text文本值的方式定位下拉框
select.select_by_visible_text('Java语言') t.sleep(3) driver.quit()
(9)Boss直聘实战
首先进入Boss直聘网站首页
driver=webdriver.Chrome() driver.maximize_window() driver.get('https://www.zhipin.com/xian/')
搜索职位类型
driver.find_element_by_xpath('//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[2]/div/span/b').click() t.sleep(3) driver.find_element_by_xpath('//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[4]/div/div/ul[1]/li[3]').click() t.sleep(3) driver.find_element_by_xpath('//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[4]/div/div/ul[2]/li[3]').click() t.sleep(3) driver.find_element_by_xpath('//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[4]/div/div/ul[3]/li[2]').click() t.sleep(3)
搜索职位
driver.find_element_by_name('query').send_keys('UI自动化测试')
点击搜索
driver.find_element_by_xpath('//*[@id="filter-box"]/div/div[1]/div[1]/form/button').click() t.sleep(3)
选择公司的规模
driver.find_element_by_xpath('') driver driver.quit()
(10)拉钩网实战
首先进入拉钩网站的首页
driver=webdriver.Chrome() driver.maximize_window() driver.get('https://www.lagou.com/')
关闭弹出框
driver.find_element_by_xpath('//*[@id="cboxClose"]').click() t.sleep(3)
在搜索框内输入你要搜索的内容
driver.find_element_by_id('search_input').send_keys('测试开发工程师') t.sleep(3)
点击搜索按钮
driver.find_element_by_id('search_button').click() t.sleep(6)
选择月薪
driver.find_element_by_xpath('//*[@id="order"]/li/div[2]/div').click() t.sleep(3)
选择月薪的范围
driver.find_element_by_xpath('//*[@id="order"]/li/div[2]/div/ul/li[1]/a').click() t.sleep(5) driver.quit()
2、list1=[{"name":"wuya","student":[{"company":[{"language":"Go"}]}]}],获取Go语言
list1=[{"name":"wuya","student":[{"company":[{"language":"Go"}]}]}] print('获取的Go的值:',list1[0]['student'][0]['company'][0]['language'])
3、按阶段划分测试的分类是?
(1)单元测试
(2)集成测试
(3)系统测试
(4)验收测试
4、怎么理解等价类和边界值,举例说明
(1)等价类
定义: 等价类是把所有可能的输⼊数据,即程序的输⼊域划分成若⼲部分(⼦集),然后从每⼀个⼦集中选取少数
等价类划分法:一个测试用例的测试方法,就是把输入数据的多种情况分成多个小部分,再从这些小部分里面挑取少量的代表性数据进行测试 等价类又分:有效等价类和无效等价类 有效等价类:合理的、有效的数据(如:在确定年龄是1-90之间,那么有效等价类就是1-90之间的任何整数) 无效等价类:不合理的、没有意义的数据(如:再确定年龄是1-90,那么超过90或者小于1的数字就是无效的) (2)边界值 定义:边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。边界值是对等价类划分的补充,因为边界的数据是最容易出错的
举例:网页的搜索框只能输入1-30个字符,如果输入31个会不会出现错误的提示,输入31个字符的时候搜索会出现错误