微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

selenium

1:selenium特点:注意事项

  python+接口,python进阶多数是逻辑问题
  selenium百分之80遇到的都是操作跟前端界面不吻合(这时候大部分报错问题检索的关键实时和前端网页联合查问题,一般代码没什么问题)

2:自动化到底是什么(自动化进行分类,两部分)

  一:功能自动化(现在主要是功能自动化)

    1:ui自动化:就是对前端的界面进行点点点(ui自动化)关注的是软件功能实现的正确性

    2:相对应手工的ui测试,自动化去进行ui测试有几个难点

      一:非预期产生的缺陷是很难被自动化发现的(ui自动化基本上很难发现bug)ui自动化重心不是在发现bug上,而是在主功能压测和后期冒烟回归

        而是对核心功能的正确使用上(验证核心功能和流程的正确性)
        手工测试能轻松发现这个bug,(界面展示不正常等问题轻松发现),ui自动化的时候很难发现
          (ui自动化逻辑假如是进入vip系统,点击课程,点击请假--这中间任何一个环节都必须主动检查
        没有主动检查的部分,比如倒计时按钮消失,整个ui自动化过程中没有对倒计时按钮进行任何检查操作,这种bug ui自动化很难发现,
        但是手工测试很轻松发现这种问题,但是手工测试很轻松发现这种问题,但ui自动化测试请假测试用例流程时候是发现不了这种问题的))
        ui自动化很难发现非预期的bug,但是手工测试很容易就能发现

      二:第二难点,ui本身的变化性,界面可能发送变化,每一期需求的更改,版本的迭代,前端界面图片的排版格式都可能发送变化,前端的代码逻辑也很容易发生变化

        html标签层级关系很容易多一层少一层,也容易变化,这些变化性是非常容易发送变化的,所有想在ui自动化达到和手工测试的相同覆盖率基本很难
        手工测试能测到百分之80-90,但是ui自动化测试取覆盖百分之80-90成本无限高,收益小,想要ui自动化覆盖百分之80-90,异常场景全部都覆盖验证一遍
        成本可能10w-20w,收益100-200(这就是差距)相对于手工测试来说,ui自动化测试很难去证明自己的投资回报,一般覆盖率不会做到百分之80-90左右或者以上

      三:ui元素控件本身一个识别的复杂性 ,元素控件(就是对这些标签而已)按钮就是一个控件,下拉框也是一个控件,

        输入框也是一个控件,他们的变化性也是非常大的识别也是很复杂的

      四:ui自动化测试,出现问题的时候,恢复到下一条测试场景,恢复到原来的场景很复杂的,因为出现这种问题是非预期的,

        比如说:作业布置了,把这个作业布置之后,如果我们布置作业这条测试用例中间任何一个步骤发生异常,那么这一整条的数据变化想要把它恢复到原来的样子是很难的
        ui自动化测试用例与测试用例之间一定不能够相互干扰,一旦相互相互干扰,相互有依赖逻辑关系有关联会变得无穷复杂

      五:ui自动化的case(测试用例)--大部分是关于用户交互方面的,(人和系统进行交互,点击,删除,输入,确定,提交等等,用户和系统交互)

        用户的交互很容易根据自己的感觉出现问题(比如说:点击下拉框,下拉框点击后展示异常(点之后在其他位置出现,但是ui自动化测试不出来这种问题,人手工点一下就能看见
        这个地方有问题))

    3:ui自动化的价值:核心场景做反复的测试和冒烟测试

      核心场景,百分之10-30非常重要最最核心的场景一定要做ui自动化的,比如淘宝:用户-产品到购物车---购物车结算--提交订单---确认收货--退款评价
      (淘宝程序最核心的功能这一部分需要做成ui自动化的)但是相对与其他功能用户在产品详情页上点开了某个评价,
      然后给某个评价进行点赞评论--这种是非核心的部分,那么这一部分不适合做ui自动

    4:什么时候进行ui自动化测试

      ui自动化时候在基本用户场景测试和验收确认测试的时候(基本用户场景:每家公司都有自己的核心业务流程)
      (验收确认测试:每一次提交都必须必要做的冒烟测试这个也可以做ui)
      现实场景:很多公司考虑ui自动化成本很高,多数情况下会用手工测试去替代,但是ui自动化还是必须存在的
      成本--难题--见仁见智的问题

    5:接口自动化(对接口层面,对后端的逻辑,对应用程序背后的逻辑进行测试)

  二:性能自动

3:html:前端界面网页就是由html组成的,网页就是一个一个html标签组成的,ui自动化就是找标签然后操作这个标签

4:chrome浏览器查找标签

  1:Chrome浏览器--鼠标右键---选择检查(开发者工具)--查看网页对应的一个一个标签---(找到元素对应标签的办法)

  2:Chrome浏览器右上角三个点---更多工具---开发者工具点击打开--左上角一个鼠标一样的按钮,点一下,然后鼠标移动到左侧页面上,
    移动到具体某个元素的时候右侧html标签也会变化--鼠标左键单机点击一下右边HTML代码就固定住了,就找到了这个标签(div或者什么的标签

5:html标签的特点:

  1:标签一般是一对,标签对,结尾标签比开头标签多了个/ 斜杠--前面是起始标签,后面叫结束标签(结束标签比开始标签多了个斜杠)----标签
    一般来说html元素以起始标签开始,以结束标签终止-------元素内容就是起始标签和结束标签间的内容
  2:并不是所有的标签都有起始和结束的,也有一些标签是单身狗
    比如:input,br换行标签,这些标签都是单标签(因为这些标签中间不需要显示内容,) ---单标签
  3:标签里面的内容:如class,name,style,type---这些叫做属性,大多数html元素都是可以拥有属性的,属性可以在元素当中添加一些符加的信息,
    比如input标签--id为身份证号码,class是什么类的,name名字是什么,style格式样式是什么,type(type="text")类型是是什么---文本类型
    可以在同事电脑上--查看登录页面密码信息(文本类型从password改成text)
    属性一般放在起始标签,不放在结束标签
    input输入标签,p段落标签,a文本标签,div区块标签
  4:元素:HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码

6: 怎么使用selenium

  Selenium是一个浏览器自动化操作框架。selenium主要由三种工具组成。

    1.第一个工具——SeleniumIDE,是Firefox的扩展插件支持用户录制和回访测试。录制/回访模式存在局限性,对许多用户来说并不适合

    2:第二个工具——Selenium WebDriver提供了各种语言环境的API来支持更多控制权和编写符合标准软件开发实践的应用程序。

    3.最后一个工具——SeleniumGrid帮助工程师使用Selenium API控制分布在一系列机器上的浏览器实例,支持并发运行更多测试

    WebDriver是一个干净、快速的web应用自动测试框架

7:访问百度并进行搜索操作

    from selenium import webdriver
                                                    #Selenium是一个浏览器自动化操作框架。
                                                    #1:创建浏览器对象,操作网页需要浏览器对象,驱动对象,浏览器驱动对象
    driver=webdriver.Chrome()                       #webdriver创建浏览器对象,一般使用Chrome,Chrome最稳定也符合标准(这时候浏览器就会打开)
    
    driver.get("https://www.baidu.com/")            #2:访问百度网址
    
                                                    #3:找到搜索输入框,id属性进行定位---id="kw"
    inpELE=driver.find_element_by_id("kw")            #通过driverfind_element寻找元素 ,by_id通过什么方法--找到搜索输入框(元素对象)赋值给一个变量
                                                    #4:操作这个变量,输入内容,文本框输入内容  .send_keys() 输入内容:特朗普
    inpELE.send_keys("特朗普")
    
    driver.find_element_by_id("su").click()            #5:找到百度一下按钮进行点击,这个元素也有id属性id="su"--点击是click
    
    # driver.quit()                                    #6:退出浏览器

8: 元素定位操作:自动化元素定位操作

  1:找到元素
  2:操作元素
    整个自动化就在这两个步骤中循环往复,先找到元素,再操作元素,找元素是重点,有哪些找元素方法

9:元素定位方法

  

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐