zoukankan      html  css  js  c++  java
  • UI自动化实现多浏览器运行

     个人站点地址:nowherewoman.com

    【背景】

    目前项目用的UI自动化框架以及运行机制是,TeamCity + MSTest + Specflow + Selenium

    自动化Class Liberary项目. 每次Build成功后,会生成dll。然后把dll的路径配置到teamcity中,设置好每天固定时间自动运行。因为之前一直是在IE中run,这次是希望能在不同的浏览器上进行验证。但是又能通过外界来控制是通过那个浏览器运行。

    【想到过得解决方案】

    1. 理想状态下,在运行MSTest的时候,我只要输入这样的命令行,把浏览器信息通过参数的形式传入,比如

    MSTest.exe UIRun.dll -Chrome

    但是怎么给dll 传这个参数进去呢,某度某歌翻遍都没有找到和我相似的情形,对我这种对代码本身不感冒的人在这个上边纠结让我很不开心。于是我想到了另一个方法

    2. 给project 加多个app.config。通过configuration management来生成多个在不同浏览器下运行的Build。再分别执行。这种方式可以实现,但是每次为了跑一个浏览器就要build一次所有的代码,过于重型。更简单的方法是

    3. 只用一个app.config。 当project build完成后,会生成相应的dll.config。于是一个偷懒的方法就产生了。我把浏览器设置写到app.config里边。

    执行完一次ie UI run后,就修改dll.config文件中的浏览器信息。然后再执行第二次chrome。

    <configuration>
     
      <appSettings>
        <add key="Brower" value="ie" />
      </appSettings>
     
    </configuration>

    至于怎么修改dll.config。方法就多了,其实就是对xml的修改知识。最轻量级的方法是写个脚本,在自动化运行之前先执行脚本,修改到期望运行的浏览器中。

     个人站点地址:nowherewoman.com

  • 相关阅读:
    CET成绩批量查询
    c++常用库简介
    1985年以来微软、苹果、Google赚了多少钱?
    试试PT建站脚本
    补门~
    网站提交大全
    uniapp接入人身核验小程序
    【odoo】【知识杂谈】关于菜单及记录规则中“非”计算的改造
    【odoo】【知识杂谈】关于odoo二开模块规范的一点思考
    mysql拒绝访问
  • 原文地址:https://www.cnblogs.com/NowhereWoman/p/3745587.html
Copyright © 2011-2022 走看看