コード例 #1
0
ファイル: task.py プロジェクト: satfaat/pytest
def fill_the_form_using_the_data_from_the_excel_file():
    excel = Files()
    excel.open_workbook("SalesData.xlsx")
    sales_reps = excel.read_worksheet_as_table(header=True)
    excel.close_workbook()
    for sales_rep in sales_reps:
        fill_and_submit_the_form_for_one_person(sales_rep)
コード例 #2
0
def main(engine=None):
    rh = RecordHandler()
    excel = Files()
    excel.open_workbook("challenge.xlsx")
    sheet = excel.read_worksheet_as_table(header=True)

    engines_to_run = [engine] if engine in engines.keys() else engines.keys()
    for engine in engines_to_run:
        rh.set_engine(engine)
        eval(f"{engines[engine]}(rh, sheet)")
コード例 #3
0
def test_append_to_worksheet_empty_with_headers(fmt):
    table = Table(
        [
            {"Index": 98, "Date": "today", "Id": "some_value"},
            {"Index": 99, "Date": "tomorrow", "Id": "another_value"},
        ]
    )
    library = Files()
    library.create_workbook(fmt=fmt)
    library.append_rows_to_worksheet(table, header=True)

    result = library.read_worksheet_as_table()
    assert len(result) == 3
    assert result[0] == ["Index", "Date", "Id"]
コード例 #4
0
ファイル: task.py プロジェクト: xylix/rpachallenge
        myeval(
            browser,
            '//input[@ng-reflect-name="labelCompanyName"]',
            row["Company Name"],
        )
        myeval(browser, '//input[@ng-reflect-name="labelRole"]', row["Role in Company"])
        myeval(browser, '//input[@ng-reflect-name="labelAddress"]', row["Address"])
        myeval(browser, '//input[@ng-reflect-name="labelEmail"]', row["Email"])
        myeval(
            browser, '//input[@ng-reflect-name="labelPhone"]', str(row["Phone Number"])
        )
        browser.execute_javascript(
            """document.querySelector('input[type="submit"]').click();"""
        )
    result = browser.execute_javascript(
        """return document.querySelector('.message2').textContent;"""
    )
    rh.check_for_new_record(browser, result)
    browser.close_browser()


rh = RecordHandler()
excel = Files()
excel.open_workbook("challenge.xlsx")
sheet = excel.read_worksheet_as_table(header=True)

rh.set_engine("playwright")
run_with_playwright(rh, sheet)
rh.set_engine("rpabrowser")
run_with_rpabrowser(rh, sheet)
コード例 #5
0
def main(input_excel):
    library = Files()
    library.open_workbook(input_excel)
    sheets = library.list_worksheets()

    for sheet in sheets:
        sheet = sheet.strip()
        testcases = []
        variables = []
        tests_text = ""
        keywords = dict()
        variable_index = 1
        settings_text = f"Documentation  Created from sheet {sheet} of {input_excel}\n"
        table = library.read_worksheet_as_table(name=sheet, header=True)
        for row in table.iter_dicts():
            if row["test case"]:
                testcasename = row["test case"].title()
                tests_text += testcasename
                testcases.append(testcasename)
            else:
                keyword_name = row["steps"].title().replace(" ", "_")
                tests_text += f"{' '*4}{keyword_name.replace('_', ' ')}"
                if keyword_name not in keywords.keys():
                    keywords[keyword_name] = 0
                argument_count = 0
                for idx in range(1, 10):
                    ar = f"arg{idx}"
                    if ar in row.keys() and row[ar]:
                        argument_count += 1

                        try:
                            converted_list = (str(row[ar]).replace(
                                "[", "").replace("]", "").split(","))
                            if len(converted_list) > 1:
                                variable_name = f"@{{LIST_{variable_index}}}"
                                variables.append(
                                    f"{variable_name}{' '*4}{'    '.join(converted_list)}"
                                )
                                tests_text += (
                                    f"{' '*4}{variable_name.replace('@', '$')}"
                                )
                            else:
                                tests_text += f"{' '*4}{row[ar]}"
                        except TypeError:
                            pass
                if argument_count > keywords[keyword_name]:
                    keywords[keyword_name] = argument_count
            tests_text += "\n"

        robotfilename = f"{sheet}.robot"
        print("Creating Robot file:", robotfilename)
        with open(robotfilename, "w") as robotfile:
            for tc in testcases:
                print("\tCreating Test Case:", tc)
            robotfile.write("*** Settings ***\n" + settings_text)
            if len(variables) > 0:
                robotfile.write("\n*** Variables ***\n")
                for var in variables:
                    robotfile.write(f"{var}\n")
            if tests_text:
                robotfile.write("\n*** Test Cases ***\n" + tests_text)
            if len(keywords) > 0:
                robotfile.write("\n*** Keywords ***\n")
                for kw, val in keywords.items():
                    robotfile.write(kw.replace("_", " "))
                    if val > 0:
                        robotfile.write("\n\t[Arguments]")
                        for idx in range(1, val + 1):
                            robotfile.write(f"{' '*4}${{arg{idx}}}")
                        robotfile.write("\n")
                        for idx in range(1, val + 1):
                            robotfile.write(f"\tLog{' '*4}${{arg{idx}}}\n")
                    else:
                        robotfile.write("\n\tNo Operation\n")