def setUp(self) -> None:
     logger.info('----------测试方法开始执行----------')
     self.driver = browser.get_driver()
     self.base_page = BasePage(self.driver)
     self.base_page.set_browser_max()
     self.base_page.time()
     self.base_page.open_url(self.url)
 def setUp(self) -> None:
     self.base_page = BasePage(Browser().get_driver())
     self.base_page.set_browser_max()
     self.base_page.implicitly_wait()
     self.base_page.open_url(local_config.url)
     self.test_data = TestDataUtils('main_suite',
                                    'main_suite').get_test_data()
def set_driver():
    driver = webdriver.Chrome(executable_path=config_utils.Config.chrome_path)
    base_page = BasePage(driver)
    driver.implicitly_wait(10)
    base_page.set_max_window()
    url = config_utils.Config.zantao_url
    base_page.open_url(url)
    return driver
Exemple #4
0
def set_driver():
    driver = webdriver.Chrome(executable_path=config_value.config.chrome_path)
    base_page = BasePage(driver)
    driver.implicitly_wait(10)
    base_page.set_browser_max()
    url = config_value.config.zantao_url
    base_page.open_url(url)
    return driver
Exemple #5
0
 def __init__(self, browser):
     self.base = BasePage(browser)
     self.login = login_page.LoginPage()
     self.select_course = select_course_page.OnlineCoursePage()
     self.check_out = check_out_page.CheckOutPage()
     self.lesson_content = lesson_content_page.LessonContentPage()
     self.quiz_content = quiz_page.QuizContentPage()
     self.lp_courses = lp_courses_page.LPCoursesPage()
     self.profile = profile_page.ProfilePage()
Exemple #6
0
 def setUp(self):
     '''
      测试用例的初始化
     :return:
     '''
     logger.info('--------测试方法初始化---------------')
     self.base_page = BasePage(Browser().get_driver())
     self.base_page.set_browser_max()
     self.base_page.implicitly_wait()
     self.base_page.open_url(local_config.url)
Exemple #7
0
 def setUp(self) -> None:
     logger.log_info('===============开始执行测试用例=============')
     self.base_page = BasePage(GetBrower().get_brower_driver())
     self.driver = self.base_page.driver
     self.base_page.implicity_wait()
     try:
         self.base_page.open_url(self.url)
     except Exception as e:
         logger.err_info('打开浏览器失败,浏览器地址为:%s,%s' % (self.url, e.__str__()))
     return self.driver
from selenium import webdriver
from time import sleep
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

from common.base_page import BasePage

frame_name1 = {
    'element_name': 'tanchuang',
    'locator_type': 'id',
    'locator_value': 'kw',
    'timeout': 3
}
driver = webdriver.Chrome()
bp = BasePage(driver)
driver.get('http://www.baidu.com')
driver.maximize_window()
bp.find_element(frame_name1).send_keys('asdfasdf')
bp.key_enter(frame_name1)
bp.key_ctrl_a(frame_name1)
bp.key_ctrl_c(frame_name1)
sleep(2)
bp.key_ctrl_v(frame_name1)

sleep(2)
        self.input(self.iterative_description,description)

    def switchto_default_content(self):  # 切换到默认frame
        self.switch_to_default_content()

    def slide_element(self):  # 滑到保存按钮
        self.slide_specified_element(self.preservation)

    def click_preservation(self):  # 点击保存按钮
        self.click(self.preservation)

    def click_close_button(self):  # 点击关闭按钮
        self.click(self.close_button)

if  __name__ == '__main__':
    base_page = BasePage(Browser().get_driver())
    base_page.open_url(local_config.url)
    login_action = LoginAction(base_page.driver)
    main_page = login_action.default_login()
    main_page.goto_project()
    createnewiterationpage = CreateNewIterationPage(base_page.driver)
    createnewiterationpage.click_create_iteration()
    createnewiterationpage.input_iteration_name('公共研发组sprint3')
    createnewiterationpage.input_iteration_code('sprint3')
    createnewiterationpage.clear_data_content()
    createnewiterationpage.input_start_date('2020-04-24')
    createnewiterationpage.click_start_date()
    createnewiterationpage.input_close_date('2020-05-20')
    createnewiterationpage.click_close_date()
    createnewiterationpage.input_team_name('公共研发组sprint3')
    createnewiterationpage.click_iteration_type()
Exemple #10
0
#coding=gbk
import  os
import time
from selenium  import webdriver
from  selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support.select import Select
from common.base_page import BasePage



curent_path=os.path.dirname(__file__)
driver=webdriver.Chrome()
page_path=os.path.join(curent_path,'./pages/element_samples.html')
driver.implicitly_wait(10)
driver.get('file://'+page_path)

handle=driver.current_window_handle  #获取当前窗口句柄
print(handle)
handles=driver.window_handles   #获取所有窗口句柄
print(handles)


base_page=BasePage(driver)
e=driver.find_element(By.XPATH,'//select[@name="jumpMenu"]')
Select(e).select_by_visible_text("开封教育网")
base_page.switch_window_by_title("开封市教育体育网")  ##切换到这个句柄
# base_page.switch_window_by_url('http://jtj.kaifeng.gov.cn/')
driver.find_element(By.XPATH,'//a[text()="政务服务"]').click()
 def birthday_button(self,birthday_info):
     self.delete_element_attribute(self.birthday,'maxlength')
     self.input(self.birthday,birthday_info)
     BasePage(self.driver).press_enter_key(self.birthday)
     logger.info('点击[出生日期]元素')
 def visit_date_input(self,data_info):
     self.delete_element_attribute(self.visit_date,'maxlength')
     self.input(self.visit_date,data_info)
     BasePage(self.driver).press_enter_key(self.visit_date)
     logger.info('输入访视日期:%s'%data_info)
 def setUp(self) -> None:  # 针对方法级别的
     print('SeleniumBaseCase.setUp')
     self.base_page = BasePage(Browser().get_driver())
     self.base_page.set_browser_max()
     self.base_page.implicitly_wait()
     self.base_page.open_url(self.url)
Exemple #14
0
        super().__init__(driver)
        self.username_input_box = elements['username_input_box']
        self.password_input_box = elements['password_input_box']
        self.login_button = elements['login_button']

    def input_username(self, username):  # 方法 == 》 控件的操作
        self.input(self.username_input_box, username)

    def input_password(self, password):
        self.input(self.password_input_box, password)

    def click_login(self):
        self.click(self.login_button)

    def get_login_fail_alert(self):
        return self.switch_to_alert()


if __name__ == '__main__':
    driver = browser.get_driver()
    driver.get(config.zantao_url)
    # # 测试用例一:登录成功
    # login.test_login(config.zantao_url, config.user_name, config.password, driver)
    # driver.close()
    # # 测试用例二:登录失败
    # driver = browser.get_driver()
    # login.test_login(config.zantao_url, config.user_name, (config.password + '1'), driver)
    # driver.close()

    BasePage(driver).screenshot_as_file()
Exemple #15
0
 def setUp(self):
     self.base_page = BasePage(Browser().get_driver())
     self.base_page.set_maxwindow()
     self.base_page.implicitly_wait()
     self.base_page.open_url(self.url)
Exemple #16
0
 def setUp(self) -> None:
     self.base_page = BasePage(Browser().get_driver())
     self.base_page.set_maxwindow()
     self.base_page.implicitly_wait()
     self.base_page.open_url(conf.get_chandao_path)
Exemple #17
0
 def setUp(self) -> None:
     self.base_page = BasePage(Config().driver)
     self.base_page.set_brower_max()
     self.base_page.implicitly_wait()
     self.base_page.open_url(Config().url)
Exemple #18
0
#!/usr/bin/env python
# encoding:utf-8
# @author:Rensh
#@file:test.py
#@time:2020/5/12  10:11
#@desc:
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from common.base_page import BasePage
from common.config import Config

driver = Config().driver
test = BasePage(driver)
test.open_url(
    'C:/Users/AntMi/Desktop/python%E5%AD%A6%E4%B9%A0/Selenium/element_samples.html'
)
alterbutton = {
    'element_name': 'alterbutton',
    'locator_type': 'xpath',
    'locator_value': '//input[@name="alterbutton"]',
    'timeout': 5
}
promptbutton = {
    'element_name': 'promptbutton',
    'locator_type': 'xpath',
    'locator_value': '//input[@name="promptbutton"]',
    'timeout': 5
}
# test.click(alterbutton)
# test.switch_to_alert()
test.click(promptbutton)
 def setUp(self) -> None:
     logger.info('---------测试方法开始执行-----------')
     self.base_page = BasePage(Config().driver)
     self.base_page.set_brower_max()
     self.base_page.implicitly_wait()
     self.base_page.open_url(Config().url)
 def setUp(self) -> None:
     logger.info('♥❤♥❤测试方法开始执行♥❤♥❤!')
     self.base_page = BasePage(Browser().get_driver())
     self.base_page.set_driver()
Exemple #21
0
class App(BasePage):
    res_yaml = BasePage().open_yaml('../common/app.yaml')

    def start(self,
              ip=res_yaml['ip'],
              udid=res_yaml['udid'][0],
              port=res_yaml['port'][0]):
        '''判断driver是否有值,有则加载报名,无则启动driver,返回对象本身'''
        if self.start_port(ip, port):
            try:
                capability_conf = {}
                capability_conf['platformName'] = self.res_yaml['platformName']
                capability_conf['deviceName'] = self.res_yaml['deviceName']
                capability_conf['appPackage'] = self.res_yaml['appPackage']
                capability_conf['appActivity'] = self.res_yaml['appActivity']
                capability_conf['noReset'] = self.res_yaml['noReset']
                capability_conf['unicodeKeyboard'] = self.res_yaml[
                    'unicodeKeyboard']
                capability_conf['resetKeyboard'] = self.res_yaml[
                    'resetKeyboard']
                capability_conf['chromedriverExecutableDir'] = self.res_yaml[
                    'chromedriverExecutableDir']
                capability_conf['udid'] = udid
                capability_conf[
                    'settings[waitForIdleTimeout]'] = self.res_yaml[
                        'settings[waitForIdleTimeout]']
                # capability_conf['dontStopAppOnself.reset'] = self.res['dontStopAppOnself.reset']#调试模式,quit会失效
                self._driver = webdriver.Remote(f"http://{ip}:{port}/wd/hub",
                                                capability_conf)
                # self._driver = webdriver.Remote(f"http://localhost:{port}/wd/hub", capability_conf)
                print(f'当前连接的设备信息为:{capability_conf}')
                self._driver.implicitly_wait(10)
            except Exception as e:
                raise e
        else:
            self.stop_port(port)
            self.start(ip, udid, port)
        return self

    def stop(self):
        '''关闭APP'''
        self._driver.quit()
        return self

    def restart(self):
        '''重启APP'''
        self._driver.quit()
        self._driver.launch_app()
        return self

    def start_sync(self):
        '''多进程启动多个模拟器'''
        desired_process_list = []
        for des in range(len(self.res_yaml['udid'])):
            port = 4723 + 2 * des
            desired = multiprocessing.Process(target=self.start,
                                              args=(self.res_yaml['ip'],
                                                    self.res_yaml['udid'][des],
                                                    port))  #target执行方法,args传参
            desired_process_list.append(desired)
        for run in desired_process_list:
            run.start()
        for run in desired_process_list:
            run.join()
        return self

    def start_port_sync(self):
        '''后台启动两个appium服务端口'''
        desired_process_list = []
        for i in range(len(self.res_yaml['udid'])):
            port = 4723 + 2 * i
            desired = multiprocessing.Process(target=self.start_port,
                                              args=(self.res_yaml['ip'],
                                                    port))  # target执行方法,args传参
            desired_process_list.append(desired)
        for run in desired_process_list:
            run.start()
        for run in desired_process_list:
            run.join()

    def start_port(self, host, port):
        '''后台创建appium服务,else未占用进行创建'''
        if self.check_port(host, port):
            return False
        else:
            bootstart_port = port + 1
            cmd = 'start /b appium -a ' + host + ' -p ' + str(
                port) + ' -bp ' + str(bootstart_port)  #/b是隐藏cmdUI界面后台运行
            subprocess.Popen(cmd,
                             shell=True,
                             stdout=open('./appium_log' + str(port) + '.log',
                                         'a'),
                             stderr=subprocess.STDOUT)
            return True

    def stop_port(self, port):
        '''杀死监听的端口'''
        cmd_find = f'netstat -ano | findstr {port}'
        res = os.popen(cmd_find).read()
        if port and 'LISTENING' in res:
            i = res.index('LISTENING')
            start = i + len('LISTENING') + 7
            end = res.index('\n')
            res = res[start:end]
            cmd_kill = f'taskkill /pid {res} -t -f'
            os.popen(cmd_kill)
        else:
            return False
        # res = subprocess.Popen(cmd_find,shell=True,stdin=subprocess.PIPE, stdout=subprocess.PIPE,stderr=subprocess.PIPE, encoding='utf-8')
        # res_text:str = res.communicate()[0]#拿到cmd查到的信息
        # res_port = res_text.split('\n')
        # for i in res_port:
        #     if str(port) and 'LISTENING' in i:
        #         res = i.split()[-1].strip()
        #         cmd_kill = f'taskkill /pid {res} -t -f'
        #         subprocess.Popen(cmd_kill, shell=True, stderr=subprocess.STDOUT)
        #         # print(f'杀死{res}进程成功。。。')
        #         break
        #     print('未找到进程。。。')

    def check_port(self, host, port):
        '''检查接口是否被占用,true被占用,连得上说明已经存在端口'''
        so = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        try:
            so.connect((host, port))
            so.shutdown(2)  #关闭连接
        except OSError as msg:
            return False
        else:
            return True
Exemple #22
0
 def setUp(self) -> None:
     self.driver = browser.get_driver()
     self.base_page = BasePage(self.driver)
     self.base_page.set_browser_max()
     self.base_page.time()
     self.base_page.open_url(config.zantao_url)
Exemple #23
0
 def setUpClass(cls):
     print('==========测试类开始初始化================')
     cls.base_page = BasePage(Browser().get_driver())
     cls.base_page.set_browser_max()
     cls.base_page.implicitly_wait()
     cls.base_page.open_url(local_config.url)
 def setUp(self) -> None:
     logger.info('---------▓Р╩нийие┐ф╩╝о┤лл-----------')
     self.base_page = BasePage(set_driver())
     self.base_page.set_browser_max()
     self.base_page.implicitly_wait()
     self.base_page.open_url(config.get_url)
Exemple #25
0
def upload2(filepath):
    """
    上传文件第二种方法
    :param filepath:上传文件路径
    :return:
    """
    time.sleep(1)
    shell = win32com.client.Dispatch("WScript.Shell")
    str = '{}{}\n'.format(filepath, '{ENTER}')
    shell.Sendkeys(str)
    time.sleep(1)



dr = webdriver.Chrome()
Base_Page = BasePage(dr)
Base_Page.open_browser_no_login('http://125.69.82.54:16101/dsf5/index.html')
dr.implicitly_wait(10)
dr.find_element(By.XPATH,'//*[@id="app"]/div/div/div[1]/div/div[2]/div[1]/div[2]/div/div[2]/div/i').click()
btn = (By.XPATH,'//*[@id="app"]/div/div/div[2]/div[1]/div/div/div[1]/ul/li[6]/div')
Base_Page.element_click(btn)
frame = dr.find_element(By.XPATH,'//*[@id="app"]/div/div/div[2]/div[2]/div/iframe')
dr.switch_to.frame(frame)
dr.switch_to.frame('iframe21')
ele =(By.XPATH,'//div[text()="橙子教学班"]/ancestor::tr[@class="ds_control no_padding ds_container"]//div[text()="上传"]/parent::a')
WebDriverWait(dr, 20, 0.5).until(EC.element_to_be_clickable(ele))
dr.find_element(*ele).click()
time.sleep(1)
a = r'C:\Users\Administrator\Desktop\1234.png'
BasePage.upload(a)
time.sleep(1)