Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 2d8c65b5

Přidáno uživatelem Jakub Schenk před asi 2 roky(ů)

Frontend login testing

Frontend login tested for correct and incorrect inputs

Zobrazit rozdíly:

Backend/FrontendTesting/LoginTesting.cs
13 13

  
14 14
namespace FrontendTesting
15 15
{
16
    [TestClass]
16 17
    public class LoginTesting
17 18
    {
18
        public IWebDriver[] drivers = Drivers.GetDrivers();
19
        public string url = "localhost:3000";
20
        public By usernameField = By.Id("");
21
        public By passwordField = By.Id("");
22
        public By loginButton = By.Id("");
19
        public string url = "http://localhost:3000/login";
20
        public By usernameField = By.Id("login_username");
21
        public By passwordField = By.Id("login_password");
22
        public By loginButton = By.XPath("/html/body/div[1]/div/div/div[2]/main/form/div[3]/div/div/div/button");
23
        public By userButton = By.XPath("/html/body/div[1]/div/div[1]/ul/li[2]/div/span");
24
        public By logoutButton = By.XPath("/html/body/div[3]/div/div/ul/li/span");
25
        public string[] usernames = { "aaa", "bbb", "ccc"};
26
        public string[] passwords = { "aaa", "bbb", "ccc" };
23 27

  
24 28

  
25 29
        [TestMethod]
26
        [DataRow ("admin", "admin")]
27
        [DataRow("annotator1", "password")]
28
        [DataRow("annotator2", "password")]
29
        public void Login_Correct(string username, string password)
30
        public void Login_Dummy()
30 31
        {
31
            foreach (IWebDriver driver in drivers)
32
            {
33
                //prace s driverem
34
                driver.Manage().Window.Maximize();
35
                driver.Navigate().GoToUrl(url);    //zakladni stranka
36
                Thread.Sleep(250);
37

  
38
                driver.FindElement(usernameField).SendKeys(username);        //odsouhlaseni coockies
39
                driver.FindElement(passwordField).SendKeys(password);          //napsat Elden Ring do hledani
40
                driver.FindElement(loginButton).Click();                      //kliknout na button pro poslani prikazu
41
                Thread.Sleep(250);
42
                //TODO - jsem spravne na jine strance a prihlasen?
43
                //find element username -> po prihlaseni v nav baru
44
                
45
                driver.Quit();
46
            }
32
            var driver = Drivers.cDriver;
33
            driver.Navigate().GoToUrl(url);
34
            Thread.Sleep(3000);
35
            driver.FindElement(usernameField).SendKeys("aaa");        //enter username
36
            Thread.Sleep(1000);
37
            driver.FindElement(passwordField).SendKeys("aaa");          //enter password
38
            Thread.Sleep(1000);
39
            driver.FindElement(loginButton).Click();                      //click on login
40
            Thread.Sleep(5000);
41
            Assert.AreEqual(driver.Url, "http://localhost:3000/documents/annotator");
42
            driver.Navigate().GoToUrl(url);
43
            driver.Close();
44
            driver.Quit();
47 45
        }
48 46

  
49 47

  
48
        //                                                          methods with correct usernames and passwords
50 49
        [TestMethod]
51
        [DataRow("admin", "admin")]
52
        [DataRow("annotator1", "annotator1")]
53
        [DataRow("annotator1", "")]
54
        [DataRow("", "password")]
55
        public void Login_Incorrect(string username, string password)
50
        public void Login_Correct_Annotator_Firefox()
56 51
        {
57
            foreach (IWebDriver driver in drivers)
58
            {
59
                //prace s driverem
60
                driver.Manage().Window.Maximize();
61
                driver.Navigate().GoToUrl(url);    //zakladni stranka
62
                Thread.Sleep(250);
63

  
64
                driver.FindElement(usernameField).SendKeys(username);        //odsouhlaseni coockies
65
                driver.FindElement(passwordField).SendKeys(password);          //napsat Elden Ring do hledani
66
                driver.FindElement(loginButton).Click();                      //kliknout na button pro poslani prikazu
67
                Thread.Sleep(250);
68

  
69
                //TODO - spadlo to? neprihlasil jsem se
70
                //find element chybova hlaska? - spravna chybova hlaska?
71

  
72
                driver.Quit();
73
            }
52
            var driver = new FirefoxDriver();
53
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
54
            Thread.Sleep(3000);
55
            driver.FindElement(usernameField).SendKeys(usernames[0]);          //enter username
56
            driver.FindElement(passwordField).SendKeys(passwords[0]);          //enter password
57
            driver.FindElement(loginButton).Click();                    //click on login
58
            Thread.Sleep(3000);
59
            Assert.AreEqual(driver.Url, "http://localhost:3000/documents/annotator");
60
            driver.Navigate().GoToUrl(url);
61
            driver.Close();
62
            driver.Quit();
63
        }
64
        [TestMethod]
65
        public void Login_Correct_Admin_Firefox()
66
        {
67
            var driver = new FirefoxDriver();
68
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
69
            Thread.Sleep(3000);
70
            driver.FindElement(usernameField).SendKeys(usernames[2]);          //enter username
71
            driver.FindElement(passwordField).SendKeys(passwords[2]);          //enter password
72
            driver.FindElement(loginButton).Click();                    //click on login
73
            Thread.Sleep(3000);
74
            Assert.AreEqual(driver.Url, "http://localhost:3000/documents/admin");
75
            driver.Navigate().GoToUrl(url);
76
            driver.Close();
77
            driver.Quit();
78
        }
79
        [TestMethod]
80
        public void Login_Correct_Annotator_Chrome()
81
        {
82
            var driver = new ChromeDriver();
83
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
84
            Thread.Sleep(3000);
85
            driver.FindElement(usernameField).SendKeys(usernames[0]);          //enter username
86
            driver.FindElement(passwordField).SendKeys(passwords[0]);          //enter password
87
            driver.FindElement(loginButton).Click();                    //click on login
88
            Thread.Sleep(3000);
89
            Assert.AreEqual(driver.Url, "http://localhost:3000/documents/annotator");
90
            driver.Navigate().GoToUrl(url);
91
            driver.Close();
92
            driver.Quit();
93
        }
94
        [TestMethod]
95
        public void Login_Correct_Admin_Chrome()
96
        {
97
            var driver = new ChromeDriver();
98
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
99
            Thread.Sleep(3000);
100
            driver.FindElement(usernameField).SendKeys(usernames[2]);          //enter username
101
            driver.FindElement(passwordField).SendKeys(passwords[2]);          //enter password
102
            driver.FindElement(loginButton).Click();                    //click on login
103
            Thread.Sleep(3000);
104
            Assert.AreEqual(driver.Url, "http://localhost:3000/documents/admin");
105
            driver.Navigate().GoToUrl(url);
106
            driver.Close();
107
            driver.Quit();
74 108
        }
75 109

  
76

  
110
        //                                                          methods with incorrect username or password
111
        [TestMethod]
112
        public void Login_Incorrect_Annotator_Firefox()
113
        {
114
            var driver = new FirefoxDriver();
115
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
116
            Thread.Sleep(3000);
117
            driver.FindElement(usernameField).SendKeys(usernames[0]);          //enter username
118
            driver.FindElement(passwordField).SendKeys("abc");          //enter password
119
            driver.FindElement(loginButton).Click();                    //click on login
120
            Thread.Sleep(3000);
121
            Assert.AreEqual(driver.Url, "http://localhost:3000/login");
122
            Thread.Sleep(3000);
123
            driver.Close();
124
            driver.Quit();
125
        }
126
        [TestMethod]
127
        public void Login_Incorrect_Admin_Firefox()
128
        {
129
            var driver = new FirefoxDriver();
130
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
131
            Thread.Sleep(3000);
132
            driver.FindElement(usernameField).SendKeys(usernames[2]);          //enter username
133
            driver.FindElement(passwordField).SendKeys("abc");          //enter password
134
            driver.FindElement(loginButton).Click();                    //click on login
135
            Thread.Sleep(3000);
136
            Assert.AreEqual(driver.Url, "http://localhost:3000/login");
137
            Thread.Sleep(3000);
138
            driver.Close();
139
            driver.Quit();
140
        }
141
        [TestMethod]
142
        public void Login_Incorrect_Annotator_Chrome()
143
        {
144
            var driver = new ChromeDriver();
145
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
146
            Thread.Sleep(3000);
147
            driver.FindElement(usernameField).SendKeys(usernames[0]);          //enter username
148
            driver.FindElement(passwordField).SendKeys("abc");          //enter password
149
            driver.FindElement(loginButton).Click();                    //click on login
150
            Thread.Sleep(3000);
151
            Assert.AreEqual(driver.Url, "http://localhost:3000/login");
152
            Thread.Sleep(3000);
153
            driver.Close();
154
            driver.Quit();
155
        }
156
        [TestMethod]
157
        public void Login_Incorrect_Admin_Chrome()
158
        {
159
            var driver = new ChromeDriver(); 
160
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
161
            Thread.Sleep(3000);
162
            driver.FindElement(usernameField).SendKeys(usernames[2]);          //enter username
163
            driver.FindElement(passwordField).SendKeys("abc");          //enter password
164
            driver.FindElement(loginButton).Click();                    //click on login
165
            Thread.Sleep(3000);
166
            Assert.AreEqual(driver.Url, "http://localhost:3000/login");
167
            Thread.Sleep(3000);
168
            driver.Close();
169
            driver.Quit();
170
        }
171
        [TestMethod]
172
        public void Login_EmptyUsername_Firefox()
173
        {
174
            var driver = new FirefoxDriver();
175
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
176
            Thread.Sleep(3000);
177
            driver.FindElement(usernameField).SendKeys("");          //enter username
178
            driver.FindElement(passwordField).SendKeys("abc");          //enter password
179
            driver.FindElement(loginButton).Click();                    //click on login
180
            Thread.Sleep(3000);
181
            Assert.AreEqual(driver.Url, "http://localhost:3000/login");
182
            Thread.Sleep(3000);
183
            driver.Close();
184
            driver.Quit();
185
        }
186
        [TestMethod]
187
        public void Login_EmptyUsername_Chrome()
188
        {
189
            var driver = new ChromeDriver();
190
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
191
            Thread.Sleep(3000);
192
            driver.FindElement(usernameField).SendKeys("");          //enter username
193
            driver.FindElement(passwordField).SendKeys("abc");          //enter password
194
            driver.FindElement(loginButton).Click();                    //click on login
195
            Thread.Sleep(3000);
196
            Assert.AreEqual(driver.Url, "http://localhost:3000/login");
197
            Thread.Sleep(3000);
198
            driver.Close();
199
            driver.Quit();
200
        }
201
        [TestMethod]
202
        public void Login_EmptyPassword_Firefox()
203
        {
204
            var driver = new FirefoxDriver();
205
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
206
            Thread.Sleep(3000);
207
            driver.FindElement(usernameField).SendKeys(usernames[0]);          //enter username
208
            driver.FindElement(passwordField).SendKeys("");          //enter password
209
            driver.FindElement(loginButton).Click();                    //click on login
210
            Thread.Sleep(3000);
211
            Assert.AreEqual(driver.Url, "http://localhost:3000/login");
212
            Thread.Sleep(3000);
213
            driver.Close();
214
            driver.Quit();
215
        }
216
        [TestMethod]
217
        public void Login_EmptyPassword_Chrome()
218
        {
219
            var driver = new ChromeDriver();
220
            driver.Navigate().GoToUrl(url);                             //zakladni stranka
221
            Thread.Sleep(3000);
222
            driver.FindElement(usernameField).SendKeys(usernames[0]);          //enter username
223
            driver.FindElement(passwordField).SendKeys("");          //enter password
224
            driver.FindElement(loginButton).Click();                    //click on login
225
            Thread.Sleep(3000);
226
            Assert.AreEqual(driver.Url, "http://localhost:3000/login");
227
            Thread.Sleep(3000);
228
            driver.Close();
229
            driver.Quit();
230
        }
77 231

  
78 232

  
79 233
    }
Backend/FrontendTesting/Utils.cs
19 19

  
20 20
    public static class Drivers
21 21
    {
22
        public static IWebDriver[] drivers = { new FirefoxDriver(), new ChromeDriver() };
22
        
23
        public static IWebDriver fDriver = new FirefoxDriver();
24
        public static IWebDriver cDriver = new ChromeDriver();
25
        public static IWebDriver[] drivers = { fDriver, cDriver };
23 26
        public static IWebDriver[] GetDrivers()
24 27
        {
25 28
            return drivers;

Také k dispozici: Unified diff