-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUnitTest1.cs
50 lines (44 loc) · 1.56 KB
/
UnitTest1.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System.Text.RegularExpressions;
using NUnit.Framework;
using Microsoft.Playwright;
using Microsoft.Playwright.NUnit;
using My.Testing;
using DashboardPages.Pages;
using System.IO;
using Newtonsoft.Json;
namespace PlaywrightTests
{
[TestFixture]
public class OrangeHrm : PageTest
{
private class LoginData
{
public string Username { get; set; }
public string Password { get; set; }
}
[SetUp]
public async Task LoginSetup()
{
var loginData = JsonConvert.DeserializeObject<LoginData>(File.ReadAllText("data.json"));
var loginPage = new LoginPage(Page);
await loginPage.NavigateToLoginPage();
await loginPage.VerifyPageTitle();
await loginPage.PerformLogin(loginData.Username, loginData.Password);
await loginPage.VerifyDashboardUrl();
}
[Test]
public async Task DashboardPunchInTest()
{
var dashboard = new Dashboard(Page);
await Expect(dashboard.ConfirmAttendanceCard).ToBeVisibleAsync();
await Expect(dashboard.ConfirmPunchInText).ToHaveTextAsync(new Regex("Punched Out"));
await Expect(dashboard.ConfirmAttendanceChart).ToBeVisibleAsync();
await dashboard.PunchInBtn();
await Expect(Page).ToHaveURLAsync(new Regex(".*attendance"));
await Page.PauseAsync();
}
[Test]
public async Task DashboardMyActionsTest() {
}
}
}