Linux 上 C# 的 Selenium 测试

使用自动化 Web 应用程序测试 自动测试开发人员之间的通用解决方案,以及 C# 最流行的编程语言之一,因此这些工具的组合不会引起任何问题。 为了使用这些技术进行开发,通常使用 Microsoft 的 Windows 流行专有软件,但我很想知道可以使用哪些免费类似物来完成此任务,而无需脱离 Selenium + C# 堆栈。

由于我没有找到任何关于此主题的俄语文章,因此我将分享我在 Linux 上设置 C# 开发和调试自动测试环境的经验。

使用的操作系统是 Kubuntu 18.04 64 位,带有 Linux 内核 4.15.0-99-generic,从下载的 ISO 映像安装 官方网站。 我相信任何现代且相当流行的 Linux 发行版都可以。

Mono JIT 编译器版本 6.6.0.166 充当 C# 的 CLR。 它的安装包括按顺序复制命令并执行到终端(在 Kubuntu 中是 Konsole) 这个页面.

并用作 IDE MonoDevelop 7.8.4(构建 2),安装方式与 Mono 类似。

Selenium 支持很多浏览器,但我懒得去操心所有的事情,只限于 '嗯,已经安装了 64 位 .deb 包.

接下来,我们在 MonoDevelop 中创建一个解决方案:

  • 启动 MonoDevelop
  • 转到“文件”菜单
  • 选择“创建解决方案”
  • 单击“.NET”
  • 选择“NUnit 库项目”并单击“下一步”
  • 填写解决方案的名称和路径,点击“创建”

Linux 上 C# 的 Selenium 测试

要控制浏览器,您还需要几个 NuGet 包:

  • 转到“项目”菜单并选择“添加 NuGet 包”
  • 查找并安装 Selenium.WebDriver 包
  • 查找并安装 Selenium.WebDriver.ChromeDriver 包

Linux 上 C# 的 Selenium 测试

就这样,剩下的就是编写一些代码来检查所有内容是否都按应有的方式配置。 创建解决方案时,会自动创建一个测试方法 Test.cs 文件,我在其中放置以下几行代码:

using NUnit.Framework;
using System;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium;

namespace SeleniumTests
{
    [TestFixture()]
    public class Test
    {
        [Test()]
        public void TestCase()
        {
            IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl("http://habr.com/");
            Assert.IsTrue(driver.Url.Contains("habr.com"), "Что-то не так =(");
            driver.Quit();
        }
    }
}

测试从“单元测试”选项卡启动;如果未显示,请转到“查看”菜单并选择“测试”。

Linux 上 C# 的 Selenium 测试

成功的自动化 =)

来源: habr.com

添加评论