Skip to content

Commit d56c8a3

Browse files
committed
basic programs changes new
1 parent 3fca651 commit d56c8a3

9 files changed

Lines changed: 330 additions & 0 deletions

File tree

Error1.py

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
import unittest
2+
from selenium import webdriver
3+
from selenium.webdriver.common.keys import Keys
4+
from selenium.webdriver.support.select import Select
5+
from selenium.webdriver.common.by import By
6+
from selenium.webdriver.support.ui import WebDriverWait
7+
from selenium.webdriver.support import expected_conditions as EC
8+
from self import self
9+
10+
11+
class DemoMaharaOrgLogin(unittest.TestCase):
12+
@classmethod
13+
def setUpClass(cls):
14+
self.driver=webdriver.Chrome()
15+
self.driver.maximize_window()
16+
def setUp(self):
17+
driver=self.driver
18+
driver.get("https://demo.mahara.org/")
19+
# define username web element
20+
username = driver.find_element_by_id("login_login_username")
21+
# enter student11 in the username field
22+
username.send_keys("student1")
23+
# define password web element
24+
password = driver.find_element_by_name("login_password")
25+
# enter password in the password field
26+
password.send_keys("Test@123stu")
27+
# define login button
28+
loginbutton = driver.find_element_by_id("login_submit")
29+
# click on login button
30+
loginbutton.click()
31+
def test_change_maximum_tags_in_cloud(self):
32+
driver=self.driver
33+
settings=driver.find_element_by_link_text("Settings")
34+
settings.click()
35+
driver.implicitly_wait(5)
36+
maxtags=driver.find_element_by_xpath("//*[@id='accountprefs_tagssideblockmaxtags']")
37+
maxtags.clear()
38+
maxtags.send_keys(30)
39+
self.driver.implicitly_wait(5)
40+
savebutton=driver.find_element_by_id("accountprefs_submit")
41+
savebutton.click()
42+
driver.implicitly_wait(4)
43+
max_text=driver.find_element_by_xpath("//*[@id='accountprefs_tagssideblockmaxtags']").get_attribute("value")
44+
print(max_text)
45+
self.assertTrue(max_text,"30")
46+
47+
def test_change_default_licence(self):
48+
driver=self.driver
49+
settings=driver.find_element_by_link_text("Settings")
50+
settings.click()
51+
wait=WebDriverWait(driver,30)
52+
licence_select=wait.until(EC.presence_of_all_elements_located(By.XPATH,"//*[@id='accountprefs_licensedefault']"))
53+
select=Select(driver.find_element_by_xpath("//*[@id='accountprefs_licensedefault']"))
54+
driver.implicitly_wait(5)
55+
select.select_by_visible_text("Creative Commons Attribution 4.0")
56+
savebutton = driver.find_element_by_id("accountprefs_submit")
57+
savebutton.click()
58+
self.assertTrue(driver.find_element_by_xpath("//*[@id='accountprefs_licensedefault']").text,"Creative Commons Attribution 4.0")
59+
60+
def tearDown(self):
61+
driver=self.driver
62+
logout=driver.find_element_by_link_text("Logout")
63+
64+
@classmethod
65+
def tearDownClass(self):
66+
self.driver.close()
67+
self.driver.quit()
68+
69+
if __name__ == '__main__':
70+
unittest.main()
71+
72+
73+
74+
75+
76+
77+
78+
79+
80+
81+
82+
83+
84+
85+
86+
87+
88+
89+
90+
91+
92+
93+
94+
95+
96+
97+
98+
99+
100+
101+
102+
103+
104+
105+
106+
107+
108+
109+
110+
111+
112+
113+
114+
115+
116+
117+
118+
119+
120+
121+
122+
123+
124+
125+
126+
127+
128+
129+
130+
131+
132+
133+
134+

Locators.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from selenium import webdriver
2+
driver=webdriver.Chrome(executable_path="C:\driver\chromedriver.exe")
3+
4+
driver.get('https://demo.mahara.org/')
5+
driver.maximize_window()
6+
username = driver.find_element_by_id("login_login_username")
7+
# enter student11 in the username field
8+
username.send_keys("student1")
9+
# define password web element
10+
password = driver.find_element_by_name("login_password")
11+
# enter password in the password field
12+
password.send_keys("Test@123stu")
13+
username.clear()
14+
username = driver.find_element_by_xpath("//input[@id='login_login_username']")
15+
username.send_keys("Xpath Expression")
16+
mahara_wiki= driver.find_element_by_link_text("Mahara wiki")
17+
mahara_wiki.click()
18+
#driver.back()
19+
mahara_user= driver.find_element_by_partial_link_text("Mahara user")
20+
print(mahara_user.get_attribute("href"))
21+
footer=driver.find_element_by_tag_name("footer")
22+
print(footer.text)
23+
login_link= driver.find_element_by_class_name("login-related-links")
24+
print(login_link.text)
25+
site_logo=driver.find_element_by_css_selector("a.logo")
26+
print(site_logo.get_attribute("href"))
27+
print(site_logo.is_displayed())
28+
29+
# behave features\orangehrm.feature

Login.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.support.select import Select
3+
from selenium.webdriver.support.ui import WebDriverWait
4+
driver=webdriver.Chrome(executable_path="C:\driver\chromedriver.exe")
5+
6+
driver.get('https://demo.mahara.org/')
7+
# do assertion on the title
8+
#driver.assertTrue("Home-Mahara Demo", driver.title)
9+
# define username web element
10+
username = driver.find_element_by_id("login_login_username")
11+
# enter student11 in the username field
12+
username.send_keys("student1")
13+
# define password web element
14+
password = driver.find_element_by_name("login_password")
15+
# enter password in the password field
16+
password.send_keys("Test@123stu")
17+
# define login button
18+
loginbutton = driver.find_element_by_id("login_submit")
19+
# click on login button
20+
loginbutton.click()
21+
print('login completed successfully')
22+
driver.find_element_by_xpath("/html/body/header/div/div/div[2]/button[2]/span[2]").click()
23+
driver.find_element_by_xpath("/html/body/header/div/div/nav[3]/div/ul/li[4]/a").click()
24+
driver.find_element_by_xpath("//*[@id='userchildmenu-0']/li[1]/a").click()
25+
print('preferences clicked ')
26+
select = Select(driver.find_element_by_xpath("//*[@id='accountprefs_licensedefault']"))
27+
driver.implicitly_wait(5)
28+
select.select_by_visible_text("Creative Commons Attribution 4.0")
29+
print('Default licence selected')
30+
maxtags = driver.find_element_by_xpath("//*[@id='accountprefs_tagssideblockmaxtags']")
31+
maxtags.clear()
32+
maxtags.send_keys(30)
33+
print('Maximum tags in cloud is set to 30')
34+
max_text = driver.find_element_by_xpath("//*[@id='accountprefs_tagssideblockmaxtags']").get_attribute("value")
35+
print(max_text)
36+
driver.implicitly_wait(5)
37+
savebutton = driver.find_element_by_id("accountprefs_submit")
38+
savebutton.click()
39+
print('Program completed successfully')
40+
driver.close()

LoginUtility.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import xml.etree.ElementTree as ET
2+
tree= ET.parse('SiteElement.xml')
3+
root=tree.getroot()
4+
class WebElement(object):
5+
6+
def getSearchValue(pagenameattribute, elementKeystring):
7+
xpathstring = "./pages/page[@name=" + pagenameattribute + "']/element[@Key='" + elementKeystring + "']"
8+
# print(xpathstring)
9+
for element in root.findall(xpathstring):
10+
value = element.find('value').text
11+
return value
12+
13+
14+
def getSearchBy(pagenameattribute, elementKeystring):
15+
xpathstring = "./pages/page[@name=" + pagenameattribute + "']/element[@Key='" + elementKeystring + "']"
16+
# print(xpathstring)
17+
for element in root.findall(xpathstring):
18+
searchby = element.find('searchby').text
19+
return searchby

Loginpom.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from selenium import webdriver
2+
from Seleniumpython.LoginUtility import WebElement
3+
driver=webdriver.Chrome(executable_path="C:\driver\chromedriver.exe")
4+
element=WebElement()
5+
driver.get('https://demo.mahara.org/')
6+
# do assertion on the title
7+
#driver.assertTrue("Home-Mahara Demo", driver.title)
8+
# define username web element
9+
username=driver.find_element_by_id(element.getSearchValue("LoginPage","LoginUserName"))
10+
username.send_keys("student1")
11+
password=driver.find_element_by_id(element.getSearchValue("LoginPage","LoginPassword"))
12+
password.send_keys("Test@123stu")
13+
loginbutton=driver.find_element_by_id(element.getSearchValue("LoginPage","SubmitButton"))
14+
loginbutton.click()
15+
print('login completed successfully')

SiteElement.xml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?xml version="1.0"?>
2+
<sitemodal>
3+
<pages>
4+
<page name ="LoginPage">
5+
<element Key="LoginUserName">
6+
<searchby>Id</searchby>
7+
<value>login_login_username</value>
8+
</element>
9+
</page>
10+
<page name ="LoginPage">
11+
<element Key="LoginPassword">
12+
<searchby>Id</searchby>
13+
<value>login_login_password</value>
14+
</element>
15+
</page>
16+
<page name ="LoginPage">
17+
<element Key="SubmitButton">
18+
<searchby>Id</searchby>
19+
<value>login_submit</value>
20+
</element>
21+
</page>
22+
<!-- <page name ="DashboardPage">-->
23+
<!-- <element key="LoginLink">-->
24+
<!-- <searchby>LinkText</searchby>-->
25+
<!-- <value>Logout</value>-->
26+
<!-- </element>-->
27+
<!-- </page>-->
28+
</pages>
29+
</sitemodal>

Test_Login.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#error in this program
2+
import unittest
3+
import self as self
4+
from selenium import webdriver
5+
from selenium.webdriver.common.keys import Keys
6+
7+
class TestLogin(unittest.TestCase):
8+
# define a driver instance , for example Chrome
9+
def setUp(self):
10+
self.driver=webdriver.Chrome()
11+
12+
def test_login_demo(self):
13+
driver=self.driver
14+
#navigate to the demo website
15+
driver.get("https://demo.mahara.org/")
16+
#do assertion on the title
17+
self.assertIn("Home-Mahara Demo",driver.title)
18+
#define username web element
19+
username =driver.find_element_by_id("login_login_username")
20+
#enter student11 in the username field
21+
username.send_keys("student1")
22+
#define password web element
23+
password=driver.fine_element_by_id("login_login_password")
24+
#enter password in the password field
25+
password.send_keys("Testing1")
26+
#define login button
27+
loginbutton=driver.find_element_by_id("login_submit")
28+
#click on login button
29+
loginbutton.click()
30+
#verify that logout link displays
31+
self.assertTrue(driver.find_element_by_link_text("Logout"),"Logout link")
32+
33+
def tearDown(self):
34+
self.driver.close()
35+
if __name__ == '__main__':
36+
unittest.main()

features/orangehrm.feature

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Feature: OrangeHRM Logo
2+
Scenario: Logo presence on OrangeHRM home page
3+
Given launch chrome browser
4+
When open orange hrm homepage
5+
Then verify that the logo present on page
6+
And close browser

features/steps/orangehrmsteps.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from behave import *
2+
from selenium import webdriver
3+
4+
@given('launch chrome browser')
5+
def launchBrowser(context):
6+
context.driver=webdriver.Chrome(executable_path="C:\driver\chromedriver.exe")
7+
#context.driver=webdriver.Chrome() #copy all driver in script location
8+
9+
@when('open orange hrm homepage')
10+
def openHomePage(context):
11+
context.driver.get("https://opensource-demo.orangehrmlive.com/")
12+
13+
14+
@then('verify that the logo present on page')
15+
def verifyLogo(context):
16+
status=context.driver.find_element_by_xpath("//*[@id='divLogo']/img").is_displayed()
17+
assert status is True
18+
19+
20+
@then('close browser')
21+
def closeBrowser(context):
22+
context.driver.close()

0 commit comments

Comments
 (0)