快捷搜索:  汽车  科技

测试工具csharp开源(用于Web的)

测试工具csharp开源(用于Web的)using Atata; namespace SampleApp.UITests { using _ = SignInPage; [Url("signin")] // 页面的相对 URL。 [VerifyH1] // 在页面对象初始化时验证 H1 标题文本是否等于“登录”。 public class SignInPage : Page<_> { [FindByLabel] // 查找包含“Email”的 <label> 元素(<label for="email">Email</label>),然后通过等于标签的“for”属性值的“id”查找文本 <input> 元素。 public TextInput<_> Em

介绍

Atata Framework - 一个基于 Selenium WebDriver 的 C#/.NET Web 测试自动化全功能框架。它使用流畅的页面对象模式。 Atata 是开源项目,在 Apache 许可证 2.0 下托管在 GitHub 上。

面向 .NET Standard 2.0,支持 .NET 5 、.NET Framework 4.6.1 和 .NET Core/Standard 2.0

测试工具csharp开源(用于Web的)(1)

Github

https://github.com/atata-framework/atata

特性
  • 网络驱动程序:基于 Selenium WebDriver 并保留其所有功能。
  • 页面对象模型:提供独特的流畅页面对象模式,易于实现和维护。
  • 组成:包含一组丰富的即用型组件,用于输入、表格、列表等。
  • 一体化:适用于 .NET 测试引擎(例如 NUnit、xUnit、SpecFlow)以及 Jenkins、Azure DevOps 或 TeamCity 等 CI 系统。
  • 触发器:一堆触发器与不同的事件绑定以扩展组件行为。
  • 可靠:一组流畅的断言方法和触发器,用于组件和数据验证。
  • 可配置:定义默认组件搜索策略以及其他设置。 Atata.Configuration.Json 提供灵活的 JSON 配置。
  • 报告/日志:内置可自定义的日志记录和屏幕截图捕获功能。
  • 可扩展: 框架支持任何类型的扩展。
示例代码
  • Nuget

PM> Install-Package Atata

  • 页面对象

using Atata; namespace SampleApp.UITests { using _ = SignInPage; [Url("signin")] // 页面的相对 URL。 [VerifyH1] // 在页面对象初始化时验证 H1 标题文本是否等于“登录”。 public class SignInPage : Page<_> { [FindByLabel] // 查找包含“Email”的 <label> 元素(<label for="email">Email</label>),然后通过等于标签的“for”属性值的“id”查找文本 <input> 元素。 public TextInput<_> Email { get; private set; } [FindById("password")] //通过等于“password”的 id (<input id="password" type="password">) 查找密码 <input> 元素。 public PasswordInput<_> Password { get; private set; } [FindByValue(TermCase.Title)] // 按等于“登录”(<input value="Sign In" type="submit">) 的值查找按钮元素。 public Button<_> SignIn { get; private set; } } }

  • 初始化&调用

[SetUp] public void SetUp() { AtataContext.Configure() .UseChrome() .UseBaseUrl("https://demo.atata.io/") .Build(); }

[Test] public void SignIn() { Go.To<SignInPage>() .Email.Set("admin@mail.com") .Password.Set("abc123") .SignIn.Click(); }总结

Atata是一个非常值得尝试的Web自动化框架,可以让CSharp/.Net开发人员开发针对不同Web系统的自动化测试功能

猜您喜欢: