• 使用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没有出官方方案前的一个临时方案,相信后面会有官方支持的,那时就更加简单了。

  • 相关阅读:
    /bin/bash^M:损坏的解释器: 没有那个文件或目录
    QT槽函数处理线程
    Strategy策略模式
    Proxy代理模式
    Ubuntu系统修改BIOS时间问题
    Ubuntu下安装Goldendict(翻译软件)
    自定义QMenu
    C connect实现Timeout效果(Windows)
    059 Python计算生态概览
    058 程序设计方法学小结
  • 原文地址:https://www.cnblogs.com/TianFang/p/11470656.html
Copyright © 2020-2023  润新知