from testsuite.pagework.browser_engine import BrowserEngine # from castro import Castro import unittest import time from testsuite.locateobject.home_page import HomePage from testsuite.pagework.logger import Logger logger = Logger(logger='TestBrowserEngine').get_log() # 创建一个Castro对象并且使用录象文件的路径和名称作为参数初始值实例 # screenCapture = Castro(filename="TestBrowserEngine.swf") # 物流 - 物流账册申报 class TestBrowserEngine(unittest.TestCase): @classmethod def setUpClass(cls): # 开始录屏 # screenCapture.start() browse = BrowserEngine(cls) cls.driver = browse.open_browser(cls) public = HomePage(cls.driver) print("=========登录===========") public.user_1("wgh123") public.password_1("1") public.send_submit_btn() time.sleep(2) @classmethod def tearDownClass(cls): cls.driver.quit() # 开始录屏 # screenCapture.stop()
# coding=utf-8 from testsuite.pagework.logger import Logger from selenium.webdriver.support.select import Select from selenium.webdriver.common.keys import Keys from selenium.common.exceptions import NoSuchElementException import os.path import time import xlrd # 创建日志实例 logger = Logger(logger='BasePage').get_log() class BasePage(object): """ 定义一个页面基类,让所有页面都继承这个类,封装一些常用的页面操作方法到这个类 """ def __init__(self, driver): self.driver = driver def quit_browser(self): self.driver.quit() def forward(self): self.driver.forward() logger.info("浏览器前进操作") def back(self): self.driver.back() logger.info("浏览器后退操作")
from testsuite.pagework.browser_engine import BrowserEngine import unittest import time from testsuite.locateobject.home_page import HomePage from testsuite.locateobject.tems_to_inv_page import TemsToInvPage from testsuite.pagework.logger import Logger logger = Logger(logger='TestInvList').get_log() class TestInvList(unittest.TestCase): @classmethod def setUpClass(cls): browse = BrowserEngine(cls) cls.driver = browse.open_browser(cls) public = HomePage(cls.driver) print("=========登录===========") public.user_1("wgh123") public.password_1("1") public.send_submit_btn() time.sleep(2) @classmethod def tearDownClass(cls): cls.driver.quit() def test_1_login_user(self): """ 登录测试 :return: """ public = TemsToInvPage(self.driver)
from testsuite.pagework.base_page import BasePage import os from testsuite.pagework.logger import Logger logger = Logger(logger='FilePage').get_log() # 此文件为随附单证操作定位界面 class FilePage(BasePage): # 点击随附单证下拉 def file_btn(self): self.click("xpath=>html/body/div/div[3]/div[1]/div/a/i") self.sleep(3) # 点击随附单证新增 def file_add(self): self.click("xpath=>.//*[@id='fileAdd']") self.sleep(2) # 随附单证序号 def seq_no(self, text): self.type("xpath=>.//*[@id='acmpFormSeqno']", text) self.sleep(2) # 随附单证类型 def type_cd(self, text): self.select_value("id=>acmpFormTypecd", text) self.sleep(2) # 随附单证编号 def form_no(self, text):
from testsuite.pagework.base_page import BasePage import os from testsuite.pagework.logger import Logger from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions logger = Logger(logger='TemsToInvPage').get_log() # 加工,报告出入区的入区核注清单定位类 class TemsToInvPage(BasePage): """"-------- 以下是菜单的界面定位 --------""" # 报关出入区 def menu_declare_customs(self): self.click("xpath=>.//*[@id='side-menu']/div[3]/ul/li[3]/a/span[1]") self.sleep(3) # 入区核注清单 def menu_to_inv(self): self.click("xpath=>.//*[@id='side-menu']/div[3]/ul/li[3]/ul/li[1]/a") self.sleep(3) """-------- 以下是frame框架的界面定位 --------""" # 进入一级frame def frame_1(self): self.get_frame('selector_selector=>iframe[style="width:100%;height:100%;z-index:1;"]') self.sleep(2) # 进入二级frame
from testsuite.pagework.browser_engine import BrowserEngine import unittest import time from testsuite.locateobject.home_page import HomePage from testsuite.locateobject.Temp_App_Form_page import TempAppFormPage from testsuite.pagework.logger import Logger logger = Logger(logger='TestTempAppForm').get_log() # 临时出入区申请表自动化测试脚本 class TestTempAppForm(unittest.TestCase): @classmethod def setUpClass(cls): browse = BrowserEngine(cls) cls.driver = browse.open_browser(cls) public = HomePage(cls.driver) print("=========登录===========") public.user_1("wgh123") public.password_1("1") public.send_submit_btn() time.sleep(2) @classmethod def tearDownClass(cls): cls.driver.quit() def test_1_login_user(self): """ 登录测试 :return: """
from testsuite.pagework.base_page import BasePage import os from testsuite.pagework.logger import Logger logger = Logger(logger='HomePage').get_log() class HomePage(BasePage): """ 定位信息 """ # 用户名 def user_1(self, text): # self.type("xpath=>.//*[@id='user-name']", text) self.type( "xpath=>.//*[@id='pane-userLogin']/form/div[1]/div/div/input", text) # 密码 def password_1(self, text): #self.type("xpath=>.//*[@id='password']", text) self.type( "xpath=>.//*[@id='pane-userLogin']/form/div[2]/div/div/input", text) # 登录 def send_submit_btn(self): # self.click("xpath=>.//*[@id='login-btn']") self.click("xpath=>.//*[@id='pane-userLogin']/form/div[3]/div/button")
from testsuite.pagework.base_page import BasePage import os from testsuite.pagework.logger import Logger from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions logger = Logger(logger='MachinDeclare').get_log() # 加工账册定位类 class MachinDeclare(BasePage): # 加工 def side_menu(self): self.click( "xpath=>.//*[@id='app']/div/div/div[1]/div[1]/div/div/ul/div/li[4]/div" ) self.wait(3) # 加工账册 def side_menu_1(self): self.click( "xpath=>.//*[@id='app']/div/div/div[1]/div[1]/div[1]/div/ul/div/li[4]/ul/div[1]/li/div/span" ) self.wait(3) # 加工账册申报 def side_menu_1_1(self): self.click( "xpath=>.//*[@id='app']/div/div/div[1]/div[1]/div[1]/div/ul/div/li[4]/ul/div[1]/li/ul/a[1]/li/span" )
from testsuite.pagework.base_page import BasePage import os from testsuite.pagework.logger import Logger logger = Logger(logger='TempAppFormPage').get_log() """ 此文件为临时出入区申请表定位类 类名注释:Temp为临时英文缩写,ApplForm为申请表英文缩写,Page为界面 """ class TempAppFormPage(BasePage): # 临时出入区 def menu_temp(self): self.click("xpath=>.//*[@id='side-menu']/div[3]/ul/li[4]/a/span[1]") self.sleep(3) # 临时出入区申请表 def menu_app(self): self.click("xpath=>.//*[@id='side-menu']/div[3]/ul/li[4]/ul/li[1]/a") self.sleep(2) # 进入一级frame def frame_1(self): self.get_frame( 'selector_selector=>iframe[style="width:100%;height:100%;z-index:1;"]' ) self.sleep(2) # 进入二级frame def frame_2(self): self.get_frame_1_1("editIframe")