首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Atata:一个基于 Selenium的C#自动化测试Web框架

项目开发中,为了提高测试效率、减少重复工作,我们一般都考虑使用自动化测试框架。

01

Atata Framework 是一个基于 Selenium WebDriver 的 C#/.NET Web UI 测试自动化全功能框架。

它使用流畅的页面对象模式;具有内置的日志记录系统;包含独特的触发器功能;具有一组即用型组件。

该框架的关键思想之一是为定义和使用页面对象提供简单直观的语法,页面对象实现需要尽可能少的代码。

而且描述一个页面对象类,无需任何方法,只需一组用属性标记的属性,这些属性就代表页面组件。

02

项目特点

平台:.NET Standard 2.0(支持 .NET 5+、.NET Framework 4.6.1+ 和 .NET Core/Standard 2.0+)

WebDriver:基于 Selenium WebDriver,并保留其所有功能。

页面对象模型:提供独特的流畅页面对象模式,易于实现和维护。

组件:包含一系列现成的组件,如输入框、表格、列表等。

集成:支持任何 .NET 测试引擎(如 NUnit、xUnit、SpecFlow)以及 CI 系统(如 Jenkins、GitHub Actions、TeamCity)。

触发器:提供一系列触发器,用于绑定不同事件以扩展组件行为。

验证:包含流畅的断言方法和触发器,用于组件和数据验证。

可配置:定义默认的组件搜索策略以及额外的设置,支持通过 JSON 进行灵活配置。

报告/日志:内置可定制的日志系统,支持截图和快照捕获功能。

可扩展:支持通过额外的包(如 Atata.HtmlValidation、Atata.Bootstrap、Atata.KendoUI)进行扩展。

03

使用方法

以下是一个简单的登录页面对象的示例:

using Atata; namespace SampleApp.UITests { using _ = SignInPage;

[Url("signin")] // 页面的相对URL [VerifyH1] // 验证H1标题文本在页面对象初始化时等于"Sign In" public class SignInPage : Page<_> { [FindByLabel] // 通过包含"Email"的<label>元素找到对应的<input>元素 public TextInput<_> Email { get; private set; }

[FindById("password")] // 通过ID找到密码输入框 public PasswordInput<_> Password { get; private set; }

[FindByValue(TermCase.Title)] // 通过值找到登录按钮 public Button<_> SignIn { get; private set; } } }

设置

登录测试

04

项目地址

分享一套.NetCore从入门到精通视频教程

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OnbWm0XKKoEFdjJ_9zLl6_nA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券