专栏名称: 51Testing软件测试网
51Testing软件测试网,人气最旺的软件测试技术门户,提供软件测试社区交流,软件测试博客,人才服务,测试沙龙,测试杂志,测试资料下载等全方位信息服务,是国内最专业的软件测试就业培训、企业服务供应商...
目录
相关文章推荐
51好读  ›  专栏  ›  51Testing软件测试网

Selenium+Python面试题目总结,看看你会多少?

51Testing软件测试网  · 公众号  · 测试  · 2019-10-16 11:59

正文

请到「今天看啥」查看全文


  • 不稳定
  • 可靠性不强
  • 不易维护
  • 成本与收益
6. 自动化用例的执行策略

根据自动化执行的目的来决定

(1)自动化测试用例执行用来监控,可以设置用例定时执行;
(2)用于回归测试,可以把测试用例设置成触发式执行;
(3)不需要经常执行的测试用例,可以由人工执行。
7. 提高selenium脚本的执行速度方式
(1)减少操作步骤,减少不必要的操作;
(2)中断页面加载,如果页面加载内容过多并且加载的内容不影响我们测试,可以设置超时时间,中断页面加载;
(3)设置等待时间的时候,可以sleep()固定的时间,检测到元素出现后中断等待也可以提高速度;
(4) 配置testNG实现多线程,在编写测试用例的时候,一定要实现松耦合,在服务器允许的情况下尽量设置多线程运行,提高执行速度。
8. 元素定位

1) Id定位

find_element_by_id(‘kw’) //通过id属性定位

2) Name定位

find_element_by_name(‘wd’) //通过名字进行定位,名字一般不唯一,一般不能 通 过其定位

3) ClassName定位

find_element_by_class_name(‘cn’) //通过类名进行定位

4) TagName定位

find_element_by_tag_name(‘input’) //标签,一般用于一类元素的定位

5) LinkText定位

find_element_by_link_text(‘新闻’) //文本链接定位

6) PartialLinkText定位

find_element_by_partial_link_text(‘一个很长的’) //文本链接的部分文字

7) 绝对路径定位

  • find_element_by_xpath(‘/html/body/div/div[2]/form/span/input[2]’) //绝对地址定位, 利用层级定位
  • find_element_by_xpath(‘//input[@name=’n’ and id=’kw’]’) //当前页面某个目录下 name为n,id为kw的input标签,利用元素属性进行定位
  • find_element_by_xpath(‘//[@id=kw]’) //其中表示任何属性,表示id为kw的任何属性的元素
  • find_element_by_xpath(‘//span[@class=’c’]/input’) //层级和属性结合进行定位
  • find_element_by_xpath(‘//a[contains(href , ’test’)]’)

8) 相对路径定位

相对路径定位一般比绝对路径定位快。
  • find_element_by_css_selector(‘.class1’) // 类名定位 .class
  • find_element_by_css_selector(‘#id’) //id定位 #id
  • find_element_by_css_selector(‘input’) // 标签名定位
  • find_element_by_css_selector(‘[autocomplete=off]’) //属性定位
  • find_element_by_css_selector(‘span>input’) //标签名为span的input子元素

9) 定位一组元素

Checkboxes = find_elements_by_tag_name(‘checkbox’)
for checkbox in Checkboxes:
checkbox.click() # 通过for循环全选所有的checkbox
Checkboxes.pop().click() #取消勾选一些checkbox,pop(-1)=pop()表示一组元素的最后一个; pop(0) 表示一组元素的第一个,pop(1)表示一组元素的第二个,以此类推

10) 父子/兄弟/相邻节点的定位

父->子
  • Find_element_by_id(‘parent’).find_element_by_tag_name(‘input’) 串联寻找
  • Find_element_by_xpath(‘//input/div[@name=’n’]/span/input[1]’) xpath的层级






请到「今天看啥」查看全文