Пример #1
0
def test_1():
    try:
        #open browser
        obj_lib = Lib()
        browser = obj_lib.open_browser()

        # navigate to url
        obj_lib.page_load(browser)

        #create contuct_us object
        obj_contuct_us = Contact_Us(browser)
        obj_home = Homepage(browser)

        #steps
        obj_home.click_contuct_us(browser)
        obj_contuct_us.choose_subject_heading(browser)
        obj_contuct_us.input_email_address()
        obj_contuct_us.input_order_referenc()
        obj_contuct_us.input_message()
        obj_contuct_us.click_send_button()

        #Verify that message is sending successfully
        success_message = obj_lib.get_data('contact_us_success_message')
        assert success_message in browser.page_source
        print('Test run pass!')

    except:
        obj_lib.save_screenshot(browser)
        print('Test run failed!')

    finally:
        #Close browser
        obj_lib.close_browser(browser)
Пример #2
0
def test_2():
    try:
        #open browser
        obj_lib = Lib()
        browser = obj_lib.open_browser()

        # navigate to URL
        obj_lib.page_load(browser)

        #create contact us and home object
        obj_contact_us = Contact_Us(browser)
        obj_home = Home(browser)

        # steps
        obj_home.click_contact_us(browser)
        obj_contact_us.choose_subject_heading(browser)
        obj_contact_us.input_email_address()
        obj_contact_us.input_order_reference()
        obj_contact_us.input_message()
        obj_contact_us.click_contact_us()
        # verify that message is sending successfully
        success_message = obj_lib.get_data('contact_us_success_message')
        assert success_message in browser.page_source
        print ('Test run pass!')
    except:

        obj_lib.save_screenshot(browser) 
        print('Test run failed!')
    finally:

        #Close browser
        obj_lib.close_browser(browser)       

#Nel, add raise or pytest.fail(e) in except block for raising eception in cmd
Пример #3
0
 def choose_subject_heading(self, browser):
     Lib.wait_for_element(self, browser, self.subject_heading)
     select_text = Lib.get_data(self, key='subject_heading')
     element = self.browser.find_element(*self.subject_heading)
     element.click()
     select = Select(element)
     select.select_by_visible_text(select_text)
Пример #4
0
 def give_product_name_price(self, browser):
     produc_name_list = []
     produc_price_list = []
     Lib.wait_for_elements(self, browser, self.product_name)
     produc_name = self.browser.find_elements(*self.product_name)
     for i in produc_name:
         produc_name_list.append(i.text)
     produc_price = self.browser.find_elements(*self.product_price)
     for i in produc_price:
         produc_price_list.append(i.text)
     del produc_price_list[
         1::2]  #Delete every second element (counting from the firts)
     return dict(zip(produc_name_list, produc_price_list))
Пример #5
0
    def choose_subject_heading(self, browser): # why use browser to understan browser

        try:
            Lib.wait_for_element(self, browser, self.subject_heading_id)
            choosen_text = Lib.get_data(self, key="subject_heading")
            element = self.browser.find_element(*self.subject_heading_id)
            element.click()
            select = Select(element)
            # time.sleep(7)
            select.select_by_visible_text(choosen_text)
            # time.sleep(10)

        except:
            print("Cannot act: choose_subject_heading")
Пример #6
0
    def get_product_name_price(self, browser):
        prod_name_list = []
        prod_price_list = []
        Lib.wait_for_element(self, browser, self.product_names_xpath)

        prod_names = self.browser.find_elements(*self.product_names_xpath)
        for each in prod_names:
            prod_name_list.append(each.text)

        prod_prices = self.browser.find_elements(*self.product_prices_xpath)
        for each in prod_prices:
            prod_price_list.append(each.text)

        # del prod_price_list[1::2]
        return dict(zip(prod_name_list, prod_price_list))
Пример #7
0
    def input_message(self):

        try:
            message_text = Lib.get_data(self, key="contact_us_input_message")
            self.browser.find_element(*self.message_id).send_keys(message_text)

        except:
            print("Cannot act: input_message")
Пример #8
0
    def input_order_reference(self):

        try:
            reference_value = Lib.get_data(self, key="references")
            self.browser.find_element(*self.order_referance_name).send_keys(reference_value)

        except:
            print("Cannot act: input_order_reference")
Пример #9
0
    def input_email(self):

        try:
            # time.sleep(10)
            valid_email = Lib.get_data(self, key="valid_email")
            self.browser.find_element(*self.email_id).send_keys(valid_email)

        except:
            print("Cannot act: input_email")
Пример #10
0
def test_2():
    try:
        #open browser
        obj_lib = Lib()
        browser = obj_lib.open_browser()

        # navigate to url
        obj_lib.page_load(browser)

        #create contuct_us object
        obj_contuct_us = Contact_Us(browser)
        obj_home = Homepage(browser)

        #steps
        obj_home.click_contuct_us(browser)
        obj_contuct_us.choose_subject_heading(browser)
        obj_contuct_us.input_email_address()
        obj_contuct_us.input_order_referenc()
        obj_contuct_us.click_send_button()

        #Verify that validation message displayes
        success_message = obj_lib.get_data('contact_us_error_message')
        assert success_message in browser.page_source
        print('Test run pass!')

    except Exception as e:
        obj_lib.save_screenshot(browser)
        print(e)
        raise
    # or
    #  except Exception as e:
    #         # save the screenshot of the test file which has failed
    #         obj_lib.save_screenshot(browser)
    #         pytest.fail(e)
    #         print('Test 3 failed!')

    finally:
        #Close browser
        obj_lib.close_browser(browser)


#Nel, use pytest.fail(e) or just raise for exception in except block
Пример #11
0
def test_3():

    try:

# Open browser, maximazie window, get URL
        obj_lib = Lib()
        browser = obj_lib.open_browser()
        obj_lib.page_load(browser)

# Creating homepage & contact us page objects
        obj_homepage = Homepage(browser)
        obj_contact_us = Contact_us(browser)

# Click on contact us btn fill all fields send message
        obj_homepage.click_on_contact_us(browser)
        obj_contact_us.choose_subject_heading(browser)
        obj_contact_us.input_email()
        obj_contact_us.input_order_reference()
        # obj_contact_us.input_message()
        obj_contact_us.click_on_send_btn()

# Check that message was sent successfully & print if test pass
        error_message = obj_lib.get_data("contact_us_error_message")
        assert error_message in browser.page_source
        print("test_3: PASS")


# Take a screenshot when test fails

    except Exception as error :
        obj_lib.save_screenshot(browser)
        pytest.fail(error)
        print("test_3: FAIL")

# Close browser

    finally:
        # time.sleep(10)
        obj_lib.close_browser(browser)

#Nel, very good
Пример #12
0
    def Save(self, coords):
        if Lib.internet() is not True:
            QtGui.QMessageBox.warning(self, 'ERROR', 'You must be connected to the internet to perform this action')
            return

        method = MethodModel()
        newTimes = Aladhan.GetTimes(coords['lat'], coords['lon'], method.GetValue('method'))
        if type(newTimes) is not dict:
            QtGui.QMessageBox.warning(self, 'ERROR', 'Request for new coordinates failed')
            return

        times = TimesModel()
        times.Load(newTimes)
        times.Save()        
        CustomForm.Save(self)
Пример #13
0
def test_2():
    try:
        obj_lib = Lib()
        #open browser
        browser = obj_lib.open_browser()
        #load page
        obj_lib.page_load(browser)
        obj_home = Home_Page(browser)
        #find and click on Contact us button
        browser.find_element(*obj_home.contact_us).click()
        obj_contact = Contact_Us(browser)
        obj_lib.wait_for_element(browser, obj_contact.subject_heading)
        #find and select  Subject Heading field
        element = browser.find_element(*obj_contact.subject_heading)
        element.click()
        subject_name = obj_lib.get_data(key='subject_heading')
        select = Select(element)
        select.select_by_visible_text(subject_name)

        #find and input in email field

        with open("config.json") as f:
            data = json.load(f)
        browser.find_element(*obj_contact.email_address).send_keys(
            data["eMail"])
        #find and input textin message box
        message_text = obj_lib.get_data(key='contact_us_input_message')
        browser.find_element(*obj_contact.message_box).send_keys(message_text)
        #find Send button and click
        send = browser.find_element(*obj_contact.sent_bnt)
        obj_lib.move_to_element(browser, send)
        send.click()
        #assert seccess message
        success_message = obj_lib.get_data(key="contact_us_success_message")
        assert success_message in browser.page_source
    except:
        print("Contact us page not test is fail ")
        obj_lib.save_screenshot(browser)
    finally:
        #close browser
        obj_lib.close_browser(browser)
Пример #14
0
def test_4():
    try:

        # Get data for sing in form config.json
        with open("config.json") as file:
            data = json.load(file)
        email_address = data["email"]
        password = data["password"]

        # Open browser, maximazie window, get URL
        obj_lib = Lib()
        browser = obj_lib.open_browser()
        obj_lib.page_load(browser)

        # Go Home page & click on Sing in btn
        obj_homepage = Homepage(browser)
        browser.find_element(*obj_homepage.sing_in_xpath).click()

        # Go sing in page
        obj_sing_in = Sing_in(browser)

        # Sing in with valid data
        obj_lib.wait_for_element(browser, obj_sing_in.email_id)
        browser.find_element(*obj_sing_in.email_id).send_keys(email_address)
        browser.find_element(*obj_sing_in.password_id).send_keys(password)
        browser.find_element(*obj_sing_in.submit_btn_id).click()

        # Verify that i sign in successfully
        obj_lib.wait_for_element(browser, obj_sing_in.my_account_title_xpath)
        browser.find_element(*obj_sing_in.my_account_title_xpath)

        print("TEST_1: PASS")

    except Exception as e:
        obj_lib.save_screenshot(browser)
        print(e)
        raise

    finally:
        # Close the browser
        obj_lib.close_browser(browser)


#Nel, dont use time.sleep
# use raise part in exception block as descied yesterday
Пример #15
0
def test_4():
    try:
        obj_lib = Lib()
        #open browser
        browser = obj_lib.open_browser()
        #load page
        obj_lib.page_load(browser)
        obj_home = Home_Page(browser)
        #wait and find element Women and click
        browser.find_element(*obj_home.li_women).click()
        obj_lib.wait_for_elements(browser, obj_home.pict_names)
        #find products
        products_names = browser.find_elements(*obj_home.pict_names)
        #find prices
        products_price = browser.find_elements(*obj_home.price)
        # get products names and prices
        p_name = []
        p_price = []
        for i in products_names:
            p_name.append(i.text)

        for j in products_price:
            p_price.append(j.text)
            list_of_price = p_price[1::2]
        # create dictionary for geting data and write to log file
        res = dict(zip(p_name, list_of_price))
        obj_lib.write_to_file(res)
    except Exception as e:
        pytest.fail(e)
        print("not write in file")
        obj_lib.save_screenshot(browser)
    finally:
        #close browsers
        obj_lib.close_browser(browser)
Пример #16
0
def test_4():
    try:
        #open browser
        obj_lib = Lib()
        browser = obj_lib.open_browser()

        # navigate to url
        obj_lib.page_load(browser)

        #Create Home object
        obj_home = Home_page(browser)

        #wait and click on women tab
        obj_lib.wait_for_element(browser, obj_home.women_tab)
        browser.find_element(*obj_home.women_tab).click()

        #Product result
        product_result = obj_home.give_product_name_price(browser)
    
        #open file and write product list there
        obj_lib.write_to_file(product_result)

        print('Test run passed successfully!')
        
    except Exception as e:
        pytest.fail(e)
        print("not write in file")
        obj_lib.save_screenshot(browser)

    
    finally:
        #Close browser
        obj_lib.close_browser(browser)

#---Nel, need to raise exception, you can use also pytest.fail(e), e is a exception       
Пример #17
0
def test_1():
    try:
        obj_lib = Lib()
        #create and open browser
        browser = obj_lib.open_browser()
        #load page
        obj_lib.page_load(browser)
        #load Sign_in page and input data
        obj_sign_in = Sign_In(browser)
        with open("config.json") as f:
            data = json.load(f)
        email_address = data["eMail"]
        password = data["password"]
        obj_home = Home_Page(browser)
        browser.find_element(*obj_home.sign_in).click()
        obj_lib.wait_for_element(browser, obj_sign_in.email_address)
        browser.find_element(
            *obj_sign_in.email_address).send_keys(email_address)
        browser.find_element(*obj_sign_in.password).send_keys(password)
        browser.find_element(*obj_sign_in.sign_in_bnt).click()
        #Gind "My account" text on Home sign in page
        browser.find_element(*obj_sign_in.my_account_title)
        print("Find 'My accound' text")
    except:
        print("Error sign in!")
        obj_lib.save_screenshot(browser)
    finally:
        obj_lib.close_browser(browser)
Пример #18
0
 def input_message(self):
     message = Lib.get_data(self, 'contuct_us_input_message')
     self.browser.find_element(*self.input_message_text).send_keys(message)
Пример #19
0
def test_3():
    try:
        #open browser
        obj_lib = Lib()
        browser = obj_lib.open_browser()

        # navigate to url
        obj_lib.page_load(browser)

        #Create Home object
        obj_home = Homepage(browser)

        #wait and click on women tab
        obj_lib.wait_for_element(browser, obj_home.women_tab)
        browser.find_element(*obj_home.women_tab).click()

        #Product result
        product_result = obj_home.give_product_name_price(browser)
    
        #open file and write product list there
        obj_lib.write_to_file(product_result)

        print('Test run pass!')

    except Exception as e:
        print(e)
        obj_lib.save_screenshot(browser)
        print('Test run failed!')

    finally:
        #Close browser
        obj_lib.close_browser(browser)
            

#Nel, correct
Пример #20
0
    code = CodeGen(ir, stm)
    print "\t.text"
    print "\t.globl main\n"
    print "main:\n"
    codeBlocks = code._codeBlocks
    # add the library functions
    # Now add the generated block by code generator
    i = 0
    for node in codeBlocks:
        print "B" + str(i) + ":"
        print "\t" + "\n\t".join(node)
        i += 1

    print "\tj " + LibFns["exit"]

    lib = Lib()
    instrs = lib.genFns()
    for ins in instrs.keys():
        print str(ins) + ":"
        print "\t" + "\n\t".join(instrs[ins])

    print "\n\t.data"
    globalSyms = stm.root.symbols
    for var in globalSyms.keys():
        if globalSyms[var]["type"] != "proc":
            print "g_" + str(globalSyms[var]["place"]).replace(
                "$", "_", 1) + ":\t.space\t" + str(globalSyms[var]["width"])

    strs = code._strs
    for sr in strs.keys():
        print "str_" + sr + ":\t.asciiz\t" + str(strs[sr])
Пример #21
0
def test_1():
    try:
        # get email and pass from config
        with open('config.json') as f:
            data = json.load(f)
        email_address = data['eMail'] 
        password      = data['password']       

        #open browser,
        obj_lib = Lib()
        browser = obj_lib.open_browser()
        #navigate to url
        obj_lib.page_load(browser)

        #Create Home page objcet
        obj_home = Home_page(browser)

        #click on Sign in
        browser.find_element(*obj_home.sign_in).click()

        #Create Sign In object
        obj_signin = Sign_in(browser)

        #submit with email and pass
        obj_lib.wait_for_element(browser, obj_signin.email_address)
        browser.find_element(*obj_signin.email_address).send_keys(email_address)
        browser.find_element(*obj_signin.password).send_keys(password)

         #Check that you are in My accout page
        browser.find_element(*obj_signin.my_account_title)

        #click on Sign In button
        browser.find_element(*obj_signin.sign_in_btn).click()

        #Check that you are in My accout page
        browser.find_element(*obj_signin.my_account_title)

        print('Test run pass!')

    except Exception as e:
        print (e)
        obj_lib.save_screenshot(browser)
        print('Test run failed!')
        raise #--------Nel, need to raise exception to see in cmd-----
        

    finally:
        #Close browser
        obj_lib.close_browser(browser)
Пример #22
0
def test_1():
    try:

        #open browser
        obj_lib = Lib()
        browser = obj_lib.open_browser()

        #navigate to url
        obj_lib.page_load(browser)

        #get  email and password from config file
        with open("config.json") as f:
            data = json.load(f)
            email_address = data["email"]
            password = data["password"]

        # Create Home page object
        obj_home = Home(browser)

        #click on Sign In
        browser.find_element(*obj_home.sign_in).click()
        #create Sign in object
        obj_sign_in = Sign_in(browser)

        # Fill email and password
        obj_lib.write_to_file(browser, obj_sign_in.email)
        browser.find_element(*obj_sign_in.email).send_keys(email_address)
        browser.find_element(*obj_sign_in.password).send_keys(password)
        #Click on Sign in button
        browser.find_element(*obj_sign_in.sign_in_btn).click()

        #verify that you were signed
        browser.find_element(*obj_sign_in.my_account_title)
        print("Test run!")

    except Exception as e:
        print(e)
        obj_lib.save_screenshot(browser)
        print('Test run failed!')

    finally:

        #Close browser
        obj_lib.close_browser(browser)
Пример #23
0
c_path = 'inputs/c_incunabula.txt'
d_path = 'inputs/d_tough_choices.txt'
e_path = 'inputs/e_so_many_books.txt'
f_path = 'inputs/f_libraries_of_the_world.txt'
#num_books, num_libs, num_days, book_scores, libraries, booksets_for_libs = read(a_path)
num_books, num_libs, num_days, book_scores, libraries, booksets_for_libs = read(b_path)

output_list_of_libs = []

books = []
for i, book in enumerate(book_scores):
    books.append(Book(i, book))

libs = []
for i, lib in enumerate(libraries):
    libs.append(Lib(i, booksets_for_libs[i], lib[1], lib[2], books))

current_day = 0
while num_days > current_day:
    highest_score_yet = 0;
    highest_i = 0
    value_is_updated = 0
    for i, lib in enumerate(libs):
        print("This is lib nb " + str(i) +" with books: ")
        print(lib.bookSet)
        if lib.is_used == 0:
            print("This lib is un used i="+str(i))
            temp_score = lib.get_score_from_lib(num_days-current_day)
            if temp_score >= highest_score_yet:
                highest_i = i
                highest_score_yet= temp_score
Пример #24
0
def test_1():
    try:
    
# Get data for sing in form config.json 
        with open("config.json") as file:
            data = json.load(file)
        email_address = data["email"]
        password      = data["password"]

# Open browser, maximazie window, get URL
        obj_lib = Lib()
        browser = obj_lib.open_browser()
        obj_lib.page_load(browser)

# Go Home page & click on Sing in btn
        obj_homepage = Homepage(browser)
        browser.find_element(*obj_homepage.sing_in_xpath).click()

# Go sing in page
        obj_sing_in = Sing_in(browser)

# Sing in with valid data
        obj_lib.wait_for_element(browser, obj_sing_in.email_id)
        browser.find_element(*obj_sing_in.email_id).send_keys(email_address)
        browser.find_element(*obj_sing_in.password_id).send_keys(password)
        # time.sleep(10)
        browser.find_element(*obj_sing_in.submit_btn_id).click()

# Verify that i sign in successfully
        obj_lib.wait_for_element(browser, obj_sing_in.my_account_title_xpath)
        browser.find_element(*obj_sing_in.my_account_title_xpath)

        print("TEST_1: PASS")

# Take screenshot when test fails & print error
    except Exception as error:
        obj_lib.save_screenshot(browser)
        pytest.fail(error)

# Close the browser
    finally:
        # time.sleep(10)
        obj_lib.close_browser(browser)
#Nel, correct        
Пример #25
0
    code = CodeGen(ir, stm)
    print "\t.text"
    print "\t.globl main\n"
    print "main:\n"
    codeBlocks = code._codeBlocks
    # add the library functions
    # Now add the generated block by code generator
    i = 0
    for node in codeBlocks:   
        print "B"+str(i)+":"
        print "\t"+"\n\t".join(node)
        i += 1

    print "\tj "+LibFns["exit"]

    lib = Lib()
    instrs = lib.genFns()
    for ins in instrs.keys():
       print str(ins)+":"
       print "\t"+"\n\t".join(instrs[ins])



    print "\n\t.data"
    globalSyms = stm.root.symbols
    for var in globalSyms.keys():
        if globalSyms[var]["type"] != "proc":
            print "g_"+str(globalSyms[var]["place"]).replace("$", "_", 1) + ":\t.space\t"+ str(globalSyms[var]["width"])
    
    strs = code._strs
    for sr in strs.keys():
Пример #26
0
 def click_contuct_us(self, browser):
     Lib.wait_for_element(self, browser, self.contact_us_id)
     self.browser.find_element(*self.contact_us_id).click()
Пример #27
0
 def input_email_address(self):
     email_value = Lib.get_data(self, key='valid_email')
     self.browser.find_element(*self.email_address).send_keys(email_value)
Пример #28
0
def test_4():

    try:

        # Open browser, maximazie window, get URL
        obj_lib = Lib()
        browser = obj_lib.open_browser()
        obj_lib.page_load(browser)

        # Creating homepage & contact us page objects
        obj_homepage = Homepage(browser)

        # Wait for dresses tab and click on it
        obj_lib.wait_for_element(browser, obj_homepage.dresses_menu_xpath)
        browser.find_element(*obj_homepage.dresses_menu_xpath).click()

        # Get products result
        prod_result = obj_homepage.get_product_name_price(browser)

        # Open txt file write result
        obj_lib.write_to_file(prod_result)

        print("TEST_4: PASS")

    except Exception as error:
        obj_lib.save_screenshot(browser)
        pytest.fail(error)

# Close browser
    finally:
        obj_lib.close_browser(browser)


#Nel, correct
Пример #29
0
 def input_order_referenc(self):
     reference_value = Lib.get_data(self, key='references')
     self.browser.find_element(
         *self.order_reference).send_keys(reference_value)
def main():
    folder = Ui.GetFolder(SELECT_FOLDER)
    if Report.DirCheck(folder):

        # Getting Media files
        mediafiles = Report.GetFiles(folder)
        Video_files = Report.GetMp4Files(folder)
        photo_files = Report.GetJPGFiles(folder)

        # Creating Report folder and workbook
        reportfolder = Report.CreateFolder(folder)
        workbook = Report.initExcel(reportfolder)

        # Creating layout for showing media files
        layout = Ui.ShowFiles(reportfolder, file=Video_files)
        window = sg.Window(DEFAULT_WINDOW_TITLE,
                           default_element_size=(40, 1),
                           grab_anywhere=False).Layout(layout)

        filetype = 'Video'
        try:
            while True:
                event, values = window.Read()
                if event is None or event == 'Exit':
                    break
                elif event == 'Photo':
                    filetype = 'Photo'
                    window.FindElement('_Integrity_').Update(visible=False)
                    window.FindElement('_FILE_').Update(photo_files)
                elif event == 'Video':
                    filetype = 'Video'
                    window.FindElement('_Integrity_').Update(visible=True)
                    window.FindElement('_FILE_').Update(Video_files)
                elif event == '_Integrity_' and filetype == 'Video':
                    print(filetype)
                    Lib.VideoCheckIntegrity(workbook,
                                            reportfolder,
                                            values['_FILE_'],
                                            mediafiles=mediafiles)
                elif event == '_Properties_' and filetype == 'Video':
                    Lib.VideoGeneralProperties(workbook,
                                               reportfolder,
                                               values['_FILE_'],
                                               mediafiles=mediafiles)
                elif event == '_Custom_' and filetype == 'Video':
                    Lib.VideoCustom(workbook,
                                    reportfolder,
                                    folder,
                                    files=values['_FILE_'],
                                    mediafiles=mediafiles,
                                    customsetup='D:\\a.exe')
                elif event == '_Custom_' and filetype == 'Photo':
                    Lib.PhotoCustom(workbook,
                                    reportfolder,
                                    folder,
                                    files=values['_FILE_'],
                                    mediafiles=mediafiles,
                                    customsetup='D:\\a.exe')
                elif event == '_Properties_' and filetype == 'Photo':
                    Lib.PhotoGeneralProperties(workbook,
                                               reportfolder,
                                               values['_FILE_'],
                                               mediafiles=mediafiles)
                else:
                    pass
        except:
            window.Close()
            Report.deinitExcel(workbook)
        window.Close()
        Report.deinitExcel(workbook)
    else:
        print("Folder not found")
Пример #31
0
 def click_on_contact_us(self, browser):
     try:
         Lib.wait_for_element(self, browser, self.contact_us_id)
         self.browser.find_element(*self.contact_us_id).click()
     except:
         print("Cannot act: click_on_contact_us")