Пример #1
0
def test_get_request_respond_time(site, failure_dict, header):
    """
    Check how much second it take the website to respond to get request.
    if there is a problem try again up to the maximum tries(TRIES_BEFORE_FAILURE).
    When reach to the maximum tries will change in the failure dictionary the LoadTimeError status to true
    and add the time its took the website to respond.
    """
    failure_counter = 0
    failure_status = True
    while failure_counter < TRIES_BEFORE_FAILURE and failure_status:
        start = time.time()
        try:
            request = requests.get(site, headers=header)
        except:
            return
        end = time.time()
        if end - start > GET_REQUEST_MAX_WAIT_SECONDS:
            failure_counter += 1
            print(
                PRINT_TO_CONSOLE_TOO_MUCH_TIME_TO_LOAD_MSG.format(
                    site,
                    str(end - start)[0:4], failure_counter))
            if failure_counter >= TRIES_BEFORE_FAILURE:
                failure_dict["LoadTimeError"][0] = True
                failure_dict["LoadTimeError"][
                    1] = TOO_MUCH_TIME_TO_LOAD_MSG.format(
                        str(end - start)[0:4])
        else:
            failure_status = False
            continue
        customFunc.sleep(SECONDS_TO_WAIT_BETWEEN_TRIES)
Пример #2
0
def test_get_request(site, failure_dict, header):
    """
    Send get request to the site and check to status code and the connection.
    if there is a problem try again up to the maximum tries(TRIES_BEFORE_FAILURE).
    When reach to the maximum tries will change in the failure dictionary the suitable error status to true
    and add the corresponding error message.
    """
    failure_counter = 0
    failure_status = True
    while failure_counter < TRIES_BEFORE_FAILURE and failure_status:
        try:
            request = requests.get(site, headers=header)
            if request.status_code == GET_REQUEST_OK_CODE:
                failure_status = False
                continue
            else:
                failure_counter += 1
                print(
                    PRINT_TO_CONSOLE_CODE_ERROR_FAIL_MSG.format(
                        site, request.status_code, failure_counter))
                if failure_counter >= TRIES_BEFORE_FAILURE:
                    failure_dict['CodeError'][0] = True
                    failure_dict['CodeError'][
                        1] = GET_REQUEST_CODE_ERROR_MSG.format(
                            str(request.status_code))
        except ConnectionError:
            failure_counter += 1
            print(
                PRINT_TO_CONSOLE_CONNECTION_ERROR_FAIL_MSG.format(
                    site, failure_counter))
            if failure_counter >= TRIES_BEFORE_FAILURE:
                failure_dict["ConnectionError"][0] = True
                failure_dict["ConnectionError"][1] = CONNECTION_ERROR_MSG
        customFunc.sleep(SECONDS_TO_WAIT_BETWEEN_TRIES)
Пример #3
0
def test_run():
    service = customFunc.auth.get_service_gmail()
    for site in site_list:
        header = random.choice(header_list)
        failure_dict = {
            "CodeError": [False, ''],
            "ConnectionError": [False, ''],
            "LoadTimeError": [False, ''],
            "FamiliarWordError": [False, ''],
            "GibberishError": [False, '']
        }
        test_get_request(site, failure_dict, header)
        test_get_request_respond_time(site, failure_dict, header)
        test_familiar_word_and_gibberish(site, failure_dict, header)
        send_emails_on_failure(site, failure_dict, header, service)
        customFunc.sleep(1)
Пример #4
0
import customFunc

site = "https://etgar22.co.il/?utm_source=test&utm_medium=test&utm_campaign=test"
sheet = "אתגר 22 מבוגרים - 2019 (Responses)"
sheet1 = "אתגר 22 - טלפניות (Responses)"

session = customFunc.webFunc(site)
session.start_driver()
session.url()
customFunc.sleep(6)
session.insert_info_to_field('FirstName', session.first_name)
session.insert_info_to_field('LastName', session.last_name)
session.insert_info_to_field('Email', session.email)
session.insert_info_to_field('Phone', session.phone)
session.etgarconfirm()
session.send()
session.driver.quit()

customFunc.sleep(600)
session.check_in_sheets(sheet)
session.check_in_sheets(sheet1)
Пример #5
0
fish = "https://animals-now.org/investigations/fish/?utm_source=test&utm_medium=test&utm_campaign=test"
zoglobek = "https://animals-now.org/issues/zoglobek-lawsuit/?utm_source=test&utm_medium=test&utm_campaign=test"
stop_cages = "https://animals-now.org/issues/stop-cages/?utm_source=test&utm_medium=test&utm_campaign=test"
spetember_2020 = "https://animals-now.org/investigations/investigation-september-2020/?utm_source=test&utm_medium=test&utm_campaign=test"

site_list = [
    turkey, cages, fish, zoglobek, protection_act, live_transports, stop_cages
]
email_list = []  # list with the email used to signed up
petitions_list = []  # list with link to petition that the bot signed up
for site in site_list:  # sign up to petitions in the site list, for each sign up generate new info
    session = customFunc.webFunc(site)
    session.start_driver()
    session.url()
    # close_popup(session.driver, site)
    customFunc.sleep(6)
    print('petition url: "{}"'.format(site))
    session.add_my_name_to_petition()  # DELETE WHEN A/B THE IS DONE
    customFunc.sleep(3)
    session.insert_info_to_field('FirstName', session.first_name)
    session.insert_info_to_field('LastName', session.last_name)
    session.insert_info_to_field('Email', session.email)
    session.insert_info_to_field('Phone', session.phone)
    # session.insert_info_to_field('Birthday', session.year_of_birth_idx)
    session.petitions_age()
    session.petitions_send()
    email_list.append(session.email)
    petitions_list.append(site)
    session.driver.quit()
    customFunc.sleep(3)
Пример #6
0
import customFunc
import Setup

UTM_TEST = Setup.UTM_TEST
site = "https://challenge22.com/?utm_source=test&utm_medium=test&utm_campaign=test&test={}".format(
    UTM_TEST)
sheet = "הרשמה לאתגר 22 -  ENGLISH NEW "

session = customFunc.webFunc(site)
session.start_driver()
session.url()
customFunc.sleep(10)
session.insert_info_to_field('FullName',
                             session.first_name + ' ' + session.last_name)
session.insert_info_to_field('Email', session.email)
session.ch_confirm_sixteen()
customFunc.sleep(5)
session.send()
customFunc.sleep(10)
session.transferred_to_thank_you_page()
session.driver.quit()

customFunc.sleep(600)
session.check_in_sheets(sheet)
Пример #7
0
        customFunc.emailfunc.web_error_email(
            'ConnectionError', service,
            'get request sent but the website does not respond', site,
            str(header))
        continue
    end = time.time()

    if end - start > 30:
        error = 'too much time to load - : ' + str(end -
                                                   start)[0:4] + ' seconds'
        customFunc.emailfunc.web_error_email('LoadTimeError', service, error,
                                             site, str(header))
    else:
        customFunc.emailfunc.reset_error_counter('LoadTimeError', service,
                                                 site)
    customFunc.sleep(5)

    page = request.text  # get the page source code

    # Second test search for familiar words in the page, if not found - Fail.
    if 'animals' not in page:
        customFunc.emailfunc.web_error_email(
            'FamiliarWordError', service,
            'The word "animals" does not found in the page source', site,
            str(header))
    else:
        customFunc.emailfunc.reset_error_counter('FamiliarWordError', service,
                                                 site)
    # Third test search for character that always appear in gibberish text, if found - Fail
    if '×' in page:
        customFunc.emailfunc.web_error_email(