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

  • 相关阅读:
    查看文件的首尾行
    快捷键
    lua中奇葩用法
    lua中特殊用法
    CVPR2015一些文章整理
    hdu5371 最长回文子串变形(Manacher算法)
    SVN合并(merge)的使用
    atitit. 集合groupby 的实现(2)---自己定义linq查询--java .net php
    王立平--SQLite,SQLiteOpenHelper的简单应用
    Vim 经常使用快捷键及键盘图
  • 原文地址:https://www.cnblogs.com/NowhereWoman/p/3745587.html
Copyright © 2011-2022 走看看