11import pytest
2- from playwright .sync_api import Page
3- from Ultimateqa .pages .SubPages .sub_page_buttons import SubPageButtons
4- from Ultimateqa .pages .SubPages .sub_page_social_media import SubPageSocialMedia
5- from Ultimateqa .pages .SubPages .sub_page_forms import SubPageForms
62import Ultimateqa .ui_tests .consts as consts
7-
8-
9- def test_count_buttons (page : Page , base_url_fe ):
10- page .goto (base_url_fe )
11- sub_page_buttons = SubPageButtons (page )
12-
13- count_of_buttons = sub_page_buttons .count_buttons ()
14-
15- assert count_of_buttons == consts .NUN_OF_BUTTONS_TO_FIND , \
16- f"Found: { count_of_buttons } buttons, expected: { consts .NUN_OF_BUTTONS_TO_FIND } "
17-
18- count_all_buttons_using_css = sub_page_buttons .all_buttons .count ()
19- assert count_all_buttons_using_css == consts .NUN_OF_BUTTONS_TO_FIND , \
20- f"Found: { count_of_buttons } buttons, expected: { consts .NUN_OF_BUTTONS_TO_FIND } "
21-
22- def test_count_buttons_using_css (page : Page , base_url_fe ):
23- page .goto (base_url_fe )
24- sub_page_buttons = SubPageButtons (page )
25-
26- count_all_buttons_using_css = sub_page_buttons .all_buttons .count ()
27- assert count_all_buttons_using_css == consts .NUN_OF_BUTTONS_TO_FIND , \
28- f"Found: { count_all_buttons_using_css } buttons, expected: { consts .NUN_OF_BUTTONS_TO_FIND } "
29-
30-
31- def test_verify_href_link (page : Page , base_url_fe ):
32- # load_dotenv()
33- # base_url = os.getenv("BASE_URL")
34- page .goto (base_url_fe )
35- sub_page_social_media = SubPageSocialMedia (page )
36-
37- facebook_buttons = sub_page_social_media .section .query_selector_all ('a[title="Follow on Facebook"]' )
38-
39- for button in facebook_buttons :
40- href = button .get_attribute ('href' )
41- assert href == consts .SOCIAL_MEDIA_LINK , f"href is: { href } , expected: { consts .SOCIAL_MEDIA_LINK } "
42-
43- @pytest .mark .parametrize ('name, email, message, exercise_result, message_after_submit' , [
44- ('Haim Moshe' , 'haim.moshe@gmail.com' , 'I am singer' , None , 'Thanks for contacting us' ),
45- ('Haim Cohen' , 'adam@gmail.com' , 'I am Adam' , None , 'Thanks for contacting us' ),
46- ('Asaf Levi' , 'asaf@gmail.com' , 'I am Asaf' , '0' , 'You entered the wrong number in captcha.' ),
47- ])
48- def test_forms (page : Page , name , email , message , exercise_result , message_after_submit , base_url_fe ):
49- #load_dotenv()
50- #base_url = os.getenv("BASE_URL")
51- page .goto (base_url_fe )
52- sub_page_social_forms = SubPageForms (page )
53-
54- sub_page_social_forms .set_name (name )
55- sub_page_social_forms .set_email (email )
56- sub_page_social_forms .set_message (message )
57-
58- if exercise_result != '0' :
59- exercise_result = sub_page_social_forms .extract_and_calculate_result ()
60-
61- #page.pause()
62-
63- sub_page_social_forms .set_result (result = str (exercise_result ))
64- sub_page_social_forms .click_submit ()
65-
66-
67-
68- if exercise_result != '0' :
69- response_message = sub_page_social_forms .get_submit_response ()
70- else :
71- response_message = sub_page_social_forms .get_submit_fail_response ()
72-
73- assert response_message == message_after_submit
74-
75-
3+ from Ultimateqa .ui_tests .base_test import BaseTest
4+
5+ class TestUI (BaseTest ):
6+
7+ def test_count_buttons (self ):
8+ count_of_buttons = self .sub_page_buttons .count_buttons ()
9+ assert count_of_buttons == consts .NUN_OF_BUTTONS_TO_FIND , \
10+ f"Found: { count_of_buttons } buttons, expected: { consts .NUN_OF_BUTTONS_TO_FIND } "
11+
12+ def test_count_buttons_using_css (self ):
13+ count_all_buttons_using_css = self .sub_page_buttons .all_buttons .count ()
14+ assert count_all_buttons_using_css == consts .NUN_OF_BUTTONS_TO_FIND , \
15+ f"Found: { count_all_buttons_using_css } buttons, expected: { consts .NUN_OF_BUTTONS_TO_FIND } "
16+ #One link of facebook is not equal
17+ # Expected 'https://www.facebook.com/Ultimateqa1/'
18+ # Actual :'https://www.facebook.com/Ultimateqa1'
19+ def test_verify_href_link (self ):
20+ facebook_buttons = self .sub_page_social_media .page .query_selector_all ('a[title="Follow on Facebook"]' )
21+ for button in facebook_buttons :
22+ href = button .get_attribute ('href' )
23+ assert href == consts .SOCIAL_MEDIA_LINK , f"href is: { href } , expected: { consts .SOCIAL_MEDIA_LINK } "
24+
25+ @pytest .mark .parametrize ('name, email, message, exercise_result, message_after_submit' , [
26+ ('Haim Moshe' , 'haim.moshe@gmail.com' , 'I am singer' , None , 'Thanks for contacting us' ),
27+ ('Haim Cohen' , 'adam@gmail.com' , 'I am Adam' , None , 'Thanks for contacting us' ),
28+ ('Asaf Levi' , 'asaf@gmail.com' , 'I am Asaf' , '0' , 'You entered the wrong number in captcha.' ),
29+ ])
30+ def test_forms (self , name , email , message , exercise_result , message_after_submit ):
31+ self .sub_page_forms .set_name (name )
32+ self .sub_page_forms .set_email (email )
33+ self .sub_page_forms .set_message (message )
34+
35+ if exercise_result != '0' :
36+ exercise_result = self .sub_page_forms .extract_and_calculate_result ()
37+
38+ self .sub_page_forms .set_result (result = str (exercise_result ))
39+ self .sub_page_forms .click_submit ()
40+
41+ if exercise_result != '0' :
42+ response_message = self .sub_page_forms .get_submit_response ()
43+ else :
44+ response_message = self .sub_page_forms .get_submit_fail_response ()
45+
46+ assert response_message == message_after_submit
0 commit comments