• 使用C#+Edge (Chromium)进行Web自动化测试


    今天看到了VisualStudio中现在已经自带了Web单元测试项目模板,便试了一下,发现还比较好用,它默认的是Selenium实现的,测试组在用Selenium+Python来写过自动化测试,原来它也是支持C#的,Python用起来还是没有C#顺手,看来以后也可以自己用c#来写写简单的Web自动化测试了。

    C#的Selenium库默认支持Chrome,IE,Firefox,Edge等主流浏览器,而我最近用的较多的是微软Chromium内核的Edge,可能由于它还没有正式发布的原因,现在还没有没有Chromium Edge的默认支持。由于Edge (Chromium)的内核基本上和Chrome是一致的,想来应该是可以使用ChromeDriver来驱动了,摸索试了一下,果然可行,步骤如下:

    1. 在微软WebDriver官网下载Edge (Chromium)的webdriver,需要和当前浏览器版本一致
    2. 安装Nuget包Selenium.WebDriver

    默认情况下,ChromeDriver无法支持Edge的webdriver的,我把msedgedriver的名字改成chromedriver试了一下,是可以的。不过Selenium也是可以直接指定webdriver程序名称的。

    var service = ChromeDriverService.CreateDefaultService(@"D:DevelopWebDriver""msedgedriver.exe");
    var option = new ChromeOptions
    {
        LeaveBrowserRunning = true,
        BinaryLocation = @"C:Program Files (x86)MicrosoftEdge DevApplicationmsedge.exe"
    };
    //option.AddArgument("--headless");
    _driver = new ChromeDriver(serviceoption);

    主要需要配置两个地方:webdriver路径和edge路径。各位可以参考自己的实际情况配置,配置完了这个后,后面就和操作chrome一样了。

    PS:本文这里只是在Selenium没有出官方方案前的一个临时方案,相信后面会有官方支持的,那时就更加简单了。

  • 相关阅读:
    面试问题之C++语言:C++中指针和引用的区别
    手撕代码:最长回文子串
    手撕代码:求字符串最长回文子序列
    手撕代码:用宏来实现获取数组的大小
    手撕代码之线程:thread类简单使用
    面试问题之计算机网络:OSI七层网络模型及相关协议
    C++各种输入
    C printf格式化输出
    记一次mac 安装MySQL-python 的惨痛经历
    记一次tomcat程序运行慢的处理过程
  • 原文地址:https://www.cnblogs.com/TianFang/p/11470656.html
Copyright © 2020-2023  润新知