Beispiel #1
0
 def login(self, address, account, password):
     # 访问路径
     path = self.url + address
     # 要排序参数
     params = {
         "account": account,
         "password": password,
         "timestamp": self.timestamp
     }
     # 参数按键盘排序,排序后加密
     sign = Base().md5(Base().sort(params))
     # 请求参数加上sign
     params["sign"] = sign
     # 请求接口
     self.r = requests.post(url=path, data=params)
     # 保存token
     self.token = self.r.json()["data"]["token"]
     # 保存userId
     self.userId = self.r.json()["data"]["userId"]
     # cookies
     self.Cookie = {}
     self.Cookie["Cookie"] = self.r.headers.get("Set-Cookie")
     if self.r.json()["resultCode"] == 200:
         print("【请求成功】:你很棒 \n【接口地址】:%s \n【请求结果】:%s" %
               (address, self.r.json()))
     else:
         print("【请求异常】:请检查 \n【接口地址】:%s \n【报错信息】:%s" %
               (address, self.r.text))
         return False
Beispiel #2
0
    def updateAgentStatus(self, agentId):
        '''
        更新金额
        :return:
        '''
        # 登录
        token_url = Base().api_baseurl() + "/api/login"
        token_headers = {'Content-Type': 'application/json'}
        userRq = {"account": "admin", "password": "******"}
        token_r = requests.post(token_url,
                                data=json.dumps(userRq),
                                headers=token_headers)
        api_token = token_r.json()['data']['userToken']['token']

        # 更新余额
        url = Base().api_baseurl() + "/api/management/agent/updateAgentStatus"
        headers = {
            'Authorization': api_token,
            'Content-Type': 'application/json'
        }
        rq = {
            "agentIds": agentId,
            "price": 500000,
        }
        r = requests.post(url, data=json.dumps(rq), headers=headers)
        print(r.json())
Beispiel #3
0
    def test_01(self):
        """
        限价卖\买:while(余额足够){A创建卖单,B买入}, 全部成交 手续费 == 2/1000
        交易对:BTC/USDT
        A卖单等差递增
        UserA_SellOrderPrice = 98
        UserA_SellOrderNum = 1,2,3,4,5
        B买单价格
        UserB_BuyOrderPrice = 100
        UserB_BuyOrderNum= 15
        """
        #  清除redis,mysql中btc/usdt的买卖单数据
        ConnectRedis().clear_redis(name=["1buy", "1sell"])
        ConnectMysql().update_order_status(transtion_id=1, order_type=1, order_status=2)
        ConnectMysql().update_order_status(transtion_id=1, order_type=2, order_status=2)

        self.test_buyer = Base(user="******")
        self.test_seller = Base(user="******")

        logger.info("测试用例说明:".format(TestCase.setUp.__doc__))
        # 下单前查询买卖双发的主币和目标币余额
        self.before_deal_seller_main_balance_value = self.test_seller.User_balance_details(currency_id=1)
        self.before_deal_seller_deputy_balance_value = self.test_seller.User_balance_details(currency_id=2)
        self.before_deal_buyer_main_balance_value = self.test_buyer.User_balance_details(currency_id=1)
        self.before_deal_buyer_deputy_balance_value = self.test_buyer.User_balance_details(currency_id=2)

        logger.info("买入之前买家主币余额:{0}-----买入之前买家目标币余额:{1}".format(self.before_deal_buyer_main_balance_value, self.before_deal_buyer_deputy_balance_value))
        logger.info("买入之前卖家的主币余额:{0}------买入之前卖家的目标币余额{1}".format(self.before_deal_seller_main_balance_value, self.before_deal_seller_deputy_balance_value))

        self.buy_price, self.sell_price = 100, 98
        self.buy_num = 15
        self.sell_num = [1, 2, 3, 4, 5]
        self.sell_id_list = []

        for i in range(len(self.sell_num)):
            self.sell_resp = self.test_seller.SellOrder(transtion_id=1, price=self.sell_price, num=self.sell_num[i], order_type=0)
            self.sell_order_id = JMESPathExtractor().extract(query="OBJECT.sellerOrderId", body=self.sell_resp.text)
            self.sell_id_list.append(self.sell_order_id)
            time.sleep(1)
            logger.info("下卖单返回信息:{0}".format(self.sell_resp.json()))

        self.buy_resp = self.test_buyer.OrderReservations(transtion_id=1, price=self.buy_price, num=self.buy_num, order_type=0)
        buy_order_id = JMESPathExtractor().extract(query="OBJECT.buyerOrderId", body=self.buy_resp.text)
        logger.info("下买单返回信息:{0}".format(self.buy_resp.json()))

        for i in self.sell_id_list:
            order_status = ConnectMysql().get_Order_Status(order_id=i, order_type=2)
            logger.info("卖单Id:{0}----订单状态:{1}".format(i, order_status))

        logger.info("买单ID:{0}----订单状态:{1}".format(buy_order_id, ConnectMysql().get_Order_Status(order_id=buy_order_id, order_type=1)))

        self.after_deal_seller_main_balance_value = self.test_seller.User_balance_details(currency_id=1)
        self.after_deal_seller_deputy_balance_value = self.test_seller.User_balance_details(currency_id=2)
        self.after_deal_buyer_main_balance_value = self.test_buyer.User_balance_details(currency_id=1)
        self.after_deal_buyer_deputy_balance_value = self.test_buyer.User_balance_details(currency_id=2)

        logger.info("买入之后买家主币余额:{0}-------买入之后买家目标币余额:{1}".format(self.after_deal_buyer_main_balance_value, self.after_deal_buyer_deputy_balance_value))
        logger.info("买入之后卖家主币余额:{0}------买入之后卖家目标币余额:{1}".format(self.after_deal_seller_main_balance_value, self.after_deal_seller_deputy_balance_value))
        logger.info("成交金额:{0}".format(self.buy_num*self.sell_price))
def auditApartmentContract():
    """删除核出租合同终止结算"""
    try:
        base = Base()
        base.open(page.contractEndPage,
                  apartmentContractEndPage.searchMould['tr_contract_end'],
                  havaFrame=False)
        contractNum = get_conf('apartmentContractInfo', 'contractnum')
        sql = "SELECT * from apartment_contract where contract_num = '%s' and deleted = 0 and contract_status != 'EFFECTIVE'" % contractNum.encode(
            'utf-8')
        if sqlbase.get_count(sql) > 0:
            base.input_text(
                apartmentContractEndPage.searchMould['contract_num_loc'],
                contractNum)
        else:
            consoleLog(u'未找到出租合同终止结算的测试数据,跳过删除用例', level='w')
            return
        base.click(apartmentContractEndPage.searchMould['search_button_loc'])
        base.staleness_of(
            apartmentContractEndPage.searchMould['tr_contract_end'])
        base.click(
            apartmentContractEndPage.addContractEndMould['delete_button'])
        base.click(apartmentContractEndPage.
                   addContractEndMould['delete_button_confirm'])
        base.check_submit()
        consoleLog(u'出租合同 %s 终止结算删除成功' % contractNum)
    finally:
        base.driver.quit()
Beispiel #5
0
 def __init__(self, driver):
     self.driver = driver
     self.base = Base(driver)
     #定位登录
     self.loc_username = ('id', 'account')
     self.loc_paswd = ("name", "password")
     self.loc_login = ("id", "submit")
     #定位添加BUG
     self.test_link = ('xpath', ".//*[@id='mainmenu']/ul/li[4]/a")
     self.bug_link = ('xpath', ".//*[@id='modulemenu']/ul/li[2]/a")
     self.add_bug = ('link text', '提Bug')
     self.bug_title = ('id', 'title')
     self.body = ('class name', 'article-content')
     self.save = ('id', 'submit')
     self.version = ('xpath', ".//*[@id='openedBuild_chosen']/ul")
     self.trunk = ('xpath', ".//*[@id='openedBuild_chosen']/div/ul/li")
     self.buglist = ('xpath', ".//*[@id='bugList']/tbody/tr[1]/td[4]/a")
     self.bug_init_title = '测试用例标题' + time.strftime("%Y-%m-%d %H:%M:%S",
                                                    time.localtime())
     #用sendkey的方法上传文件的参数
     self.uploadfile = ("class name", "fileControl")
     #用pykeyboard方法上传文件的参数 点击操作步骤上的图片按钮,点击后再点击浏览
     self.upload = (
         "xpath",
         ".//*[@id='dataform']/table/tbody/tr[6]/td/div[2]/div[1]/span[18]/span"
     )
     self.liulan = ("css selector", ".ke-inline-block.ke-upload-button")
     self.confirm = ("css selector",
                     ".ke-button-common.ke-button-outer.ke-dialog-yes")
Beispiel #6
0
def addHouseContact():
    """审核委托合同"""
    try:
        base=Base()
        base.open(page.entrustContractPage, houseContractPage.contractSearchMould['tr_contract'], havaFrame=False)
        #配置文件读取委托合同信息
        contractNum = get_conf('houseContractInfo', 'contractNum');if contractNum!=None:consoleLog(u'配置文件中获得委托合同编号:%s'%contractNum)
        sql = "SELECT audit_status from house_contract where contract_num = '%s' and deleted = 0" % contractNum.encode('utf-8')
        if sqlbase.get_count(sql) > 0:
            if sqlbase.serach(sql)[0] == 'AUDIT':
                pass
            else:
                base.input_text(houseContractPage.houseSearchMould['status'], 'AUDIT')#待审核
                base.click(houseContractPage.contractSearchMould['search_button_loc'])
                base.staleness_of(houseContractPage.contractSearchMould['tr_contract'])
                contractNum = base.script(
                    "var a = $('[datagrid-row-index=\"0\"] > [field=\"contract_num\"] > div').text();return a",
                    True).decode('utf-8')
                consoleLog(u'使用随机委托合同:%s 做审核操作' % contractNum, level='w')
        else:
            base.input_text(houseContractPage.houseSearchMould['status'], 'AUDIT')
            base.click(houseContractPage.contractSearchMould['search_button_loc'])
            base.staleness_of(houseContractPage.contractSearchMould['tr_contract'])
            contractNum = base.script(
                "var a = $('[datagrid-row-index=\"0\"] > [field=\"contract_num\"] > div').text();return a", True).decode(
                'utf-8')
            consoleLog(u'使用随机委托合同:%s 做审核操作' % contractNum, level='w')
        base.input_text(houseContractPage.houseSearchMould['status'], '')
        base.input_text(houseContractPage.contractSearchMould['contract_num_loc'], contractNum);consoleLog(u'实际审核委托合同编号:%s' % contractNum)
        base.click(houseContractPage.contractSearchMould['search_button_loc'])
        base.staleness_of(houseContractPage.contractSearchMould['tr_contract'])
        base.dblclick(houseContractPage.contractSearchMould['tr_contract'], checkLoc=houseContractPage.addHouseContractMould['contract_num_loc'])
        # 驳回
        base.click(houseContractPage.addHouseContractMould['tab_info_loc'], index=3)
        base.script('$("button[status=\'REJECTED\']")[1].click()')
        base.input_text(houseContractPage.addHouseContractMould['contract_audit_content'], u'自动化测试审核数据')
        base.click(houseContractPage.addHouseContractMould['contract_audit_confirm'])
        base.staleness_of(houseContractPage.contractSearchMould['tr_contract'])
        base.dblclick(houseContractPage.contractSearchMould['tr_contract'], checkLoc=houseContractPage.addHouseContractMould['contract_num_loc'])
        # 审核租金
        base.click(houseContractPage.addHouseContractMould['tab_info_loc'], index=1)
        base.click(houseContractPage.addHouseContractMould['rent_detail_selectAll'])
        base.click(houseContractPage.addHouseContractMould['rent_audit_loc'])
        base.click(houseContractPage.addHouseContractMould['audit_pass_loc'])
        base.click(houseContractPage.addHouseContractMould['rent_audit_confirm'])
        # 初审
        base.click(houseContractPage.addHouseContractMould['tab_info_loc'], index=3)
        base.script('$("button[status=\'PASS\']")[2].click()')
        base.click(houseContractPage.addHouseContractMould['contract_audit_confirm'])
        base.staleness_of(houseContractPage.contractSearchMould['tr_contract'])
        base.dblclick(houseContractPage.contractSearchMould['tr_contract'], checkLoc=houseContractPage.addHouseContractMould['contract_num_loc'])
        # 复审
        base.click(houseContractPage.addHouseContractMould['tab_info_loc'], index=3)
        base.script('$("button[status=\'APPROVED\']")[1].click()')
        base.click(houseContractPage.addHouseContractMould['contract_audit_confirm'])
        base.check_submit()
        consoleLog(u'委托合同:%s 审核成功' % contractNum)

    finally:
        base.driver.quit()
 def test_goods_comment(self):
     """商品评论"""
     allure.attach("点击我的", "进入个人中心")
     # 进入我的
     PersonalPage(self.driver).personal_click()
     time.sleep(1)
     # 选择待评价
     PersonalPage(self.driver).comment_click()
     # 选择待评价的订单
     allure.attach("进入待评价", "选择待评价订单")
     OrderShowPage(self.driver).order_click()
     # 输入评价
     text = "陌上花开,缓缓归矣!"
     CommentPage(self.driver).inpute_content(text)
     time.sleep(2)
     # 选择星星等级
     CommentPage(self.driver).click_start()
     # 点击提交
     CommentPage(self.driver).submitc_click()
     time.sleep(1)
     allure.attach("评论成功", "获取toast")
     # 获取toast文本
     toast = self.driver.find_element_by_xpath("//*[contains(@text,'成功')]")
     text = toast.text
     # 断言
     if text == "评论成功":
         assert 1
     else:
         Base(self.driver).screenshot("../screenshot/comment.png")
         assert 0
Beispiel #8
0
    def __call__(self, conns):
        self.base = Base()
        self.financial_data = conns['financial_data']
        year = self.base.gettoday()[:4]

        #Shibor拆放利率
        shibor_data = ts.shibor_data(year)
        print(shibor_data)
        self.base.batchwri(shibor_data, 'shibor_data', self.financial_data)

        #银行报价数据
        shibor_quote_date = ts.shibor_quote_data(year)
        self.base.batchwri(shibor_quote_date, 'shibor_quote_data',
                           self.financial_data)

        #Shibor均值数据
        shibor_ma_data = ts.shibor_ma_data(year)
        self.base.batchwri(shibor_ma_data, 'shibor_ma_data',
                           self.financial_data)

        #贷款基础利率(LPR)
        lpr_data = ts.lpr_data(year)
        self.base.batchwri(lpr_data, 'lpr_data', self.financial_data)

        #LPR均值数据
        lpr_ma_data = ts.lpr_ma_data(year)
        self.base.batchwri(lpr_ma_data, 'lpr_ma_data', self.financial_data)
Beispiel #9
0
def login(driver,user="******",psw="123456"):
    "普通登录函数"
    zen = Base(driver)
    driver.get(url)
    zen.sendKeys(loc1,user)
    zen.sendKeys(loc2,psw)
    zen.click(loc3)
def test_1003():
    """出租合同起算日小于委托合同签约日"""

    # describe:出租合同承租起算日不在委托合同周期内,合同签约失败
    # data:出租合同起算日小于委托合同签约日
    # result:签约失败

    fileName = 'apartmentContract_1003'
    randomApartment = "SELECT a.apartment_code,a.apartment_id,hc.contract_num,hc.contract_id FROM apartment a INNER JOIN house_contract hc ON hc.contract_id = a.house_contract_id AND hc.is_active = 'Y' " \
                      "AND hc.deleted = 0 AND hc.contract_status = 'EFFECTIVE'WHERE a.deleted = 0 AND a.rent_price > 0 AND a.city_code = 330100 AND hc.entrust_type = 'SHARE' AND a.rent_status='WAITING_RENT'" \
                      "AND hc.apartment_type='BRAND'AND hc.sign_date>date_sub(date(sysdate()), interval 6 month) and not EXISTS (select * from apartment_contract ac,apartment_contract_relation acr " \
                      "where ac.contract_id=acr.contract_id and a.apartment_id=acr.apartment_id) and EXISTS (select * from query_apartment qa where qa.apartment_code=a.apartment_code) ORDER BY RAND() LIMIT 1"
    if sqlbase.get_count(randomApartment) == 0:
        consoleLog(u'%s:SQL查无数据!' % fileName, 'w')
        consoleLog(u'执行SQL:%s' % randomApartment)
        return
    info = sqlbase.serach(randomApartment)
    apartmentCode = info[0]
    consoleLog(u'%s:使用房源 %s 签约出租合同' % (fileName, apartmentCode))

    with Base() as base:
        base.open(page.customerListPage, apartmentContractPage.customerSignMould['tr_customer'])
        try:
            base.find_element(By.ID, 'search_btn').click()
            base.staleness_of(apartmentContractPage.customerSignMould['tr_customer'])  # 搜索等待列表刷新
        except:
            base.click((By.CSS_SELECTOR, '.panel.window > div:nth-child(1) > div.panel-tool > a'))  # 可能会有分配租客的弹窗出现,此为关闭
        customerCode = base.script(
            "var a = $('[datagrid-row-index=\"0\"] > [field=\"customer_num\"] > div > font').text();return a",
            True)  # 获取第一条数据编号
        base.input_text(apartmentContractPage.customerSignMould['search_customer_name_loc'], customerCode)
        base.click(apartmentContractPage.customerSignMould['search_button_loc'])
        base.staleness_of(apartmentContractPage.customerSignMould['tr_customer'])
        base.script("$('button#edit_btn')[2].click()")  # 点击列表页第一行的签约
        base.click(apartmentContractPage.customerSignMould['share'])  # 点合租
        base.input_text(apartmentContractPage.customerSignMould['search_apartment_loc'], apartmentCode)  # 房源编号
        base.click(apartmentContractPage.customerSignMould['house_search_btn'])
        base.staleness_of(apartmentContractPage.customerSignMould['apartment_loc'])
        try:
            base.dblclick(apartmentContractPage.customerSignMould['apartment_loc'],
                          checkLoc=apartmentContractPage.addApartmentContractMould[
                              'contract_num_loc'])  # 对查询结果的第一条房源数据双击发起签约
        except:
            base.click(apartmentContractPage.customerSignMould['newsign_button_loc'])  # 新签
        contractNum = 'AutoTest' + '-' + time.strftime('%m%d%H%M%S')  # 定义合同编号
        randomHouseContract = sqlbase.serach(
            "SELECT entrust_start_date,entrust_end_date,date(sysdate()),date_add(date(sysdate()), interval 1 DAY),date_sub(date(sysdate()), interval 6 month) "
            "from house_contract where contract_num = '%s'" % info[2])  # 获取房源合同时间元素
        base.input_text(apartmentContractPage.addApartmentContractMould['contract_num_loc'], contractNum)  # 合同编号
        base.type_date(apartmentContractPage.typeMould['sign_date'], randomHouseContract[4])  # 签约日期
        base.type_date(apartmentContractPage.typeMould['rent_start_date'], randomHouseContract[4])  # 承租起算日
        base.type_date(apartmentContractPage.typeMould['rent_end_date'], randomHouseContract[2])  # 承租到期日
        time.sleep(3)
        message = base.script("var a = $('.panel.window.messager-window>div:nth-child(2)>div:nth-child(2)').text();return a", True)
        if message is not None:
            messagehope = u'承租开始日期没到委托合同开始日'
            base.diffAssert(lambda test: asserts(message).is_equal_to(messagehope), 1003,
                            u'%s:出租合同 %s 新增提交异常,期望值 %s 实际值 %s' % (fileName, contractNum, messagehope, message))
        else:
            consoleLog(u'%s:页面信息获取失败' % fileName, 'e')
def addResidential():
    """删除楼盘"""
    try:
        mybase = Base()
        mybase.open(page.residentiaPage, residentiaPage.searchResidentialModule['search_btn'], havaFrame=False);consoleLog(u'打开JSP页面')
        # mybase.open(Page.residentiaPage, (By.ID, 'search_btn'), havaFrame=False)
        sql = 'select residential_name from residential where residential_name like "AutoTest-%" and deleted<>1'
        ResidentiaName = sqlbase.serach(sql)[0];consoleLog(u'查询结果:%s' % ResidentiaName)
        # ResidentiaName='AutoTest-0706-103107'
        mybase.input_text((By.CSS_SELECTOR, "#residential_name"), ResidentiaName,event=u'输入楼盘名称:')\
            # ;consoleLog(u'输入楼盘名称')
        mybase.click((By.ID, 'search_btn'));consoleLog(u'点击查找')
        mybase.staleness_of(residentiaPage.searchResidentialModule['tr_residential']);consoleLog(u'等待数据刷新')
        mybase.click((By.CSS_SELECTOR,
                           '#residential + div > div:nth-child(2) > div > div:nth-child(2) > div:nth-child(2) > table > tbody > tr:nth-child(1) > td:nth-child(17) > div > button:nth-child(5)'));consoleLog(u'点击删除')  # 点击删除
        mybase.click((By.CSS_SELECTOR, 'div>a>span>span'),1);consoleLog(u'确定删除')  # 点击确定
        mybase.click((By.ID, 'search_btn'));consoleLog(u'再次查找')  # 再次查找
        try:
            WebDriverWait(mybase.driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR,
                                                                                   '#residential + div > div:nth-child(2) > div > div:nth-child(2) > div:nth-child(2) > table > tbody > tr:nth-child(1) > td:nth-child(11) ')),
                                                 u'未找确定楼盘 %s 信息' % ResidentiaName)
            raise Exception(u'楼盘 %s 信息存在,删除失败'%ResidentiaName)
        except u'未找确定楼盘 %s 信息' % ResidentiaName:
            consoleLog(u'楼盘删除成功')
    finally:
        mybase.driver.quit()
def addHouseContact():
    """审核委托合同"""
    try:
        base = Base()
        base.open(page.entrustContractPage,
                  houseContractPage.contractSearchMould['tr_contract'],
                  havaFrame=False)
        #配置文件读取合同编号
        contractNum = get_conf('houseContractInfo', 'contractNum')
        sql = "SELECT * from house_contract WHERE contract_num = '%s' and deleted = 0" % contractNum.encode(
            'utf-8')
        if sqlbase.get_count(sql) != 0:
            base.input_text(
                houseContractPage.contractSearchMould['contract_num_loc'],
                contractNum)
            base.click(
                houseContractPage.contractSearchMould['search_button_loc'])
            base.staleness_of(
                houseContractPage.contractSearchMould['tr_contract'])
            base.click(
                houseContractPage.addHouseContractMould['delete_button'])
            base.click(houseContractPage.
                       addHouseContractMould['delete_button_confirm'])
            base.check_submit()
            consoleLog(u'委托合同删除成功')
        else:
            consoleLog(u'未找到委托合同 %s,略过删除功能' % contractNum)
    finally:
        base.driver.quit()
 def setUpClass(cls, username="******", password="******"):
     cls.driver = webdriver.Chrome()
     cls.driver.maximize_window()
     cls.driver.get("https://192.168.50.65")
     cls.b = Base(cls.driver)
     loca = ("xpath",
             ".//*[@id='main']/div/div/div[2]/form/div[2]/div/div/input")
     cls.b.send(loca, username)
     loca2 = ("xpath",
              ".//*[@id='main']/div/div/div[2]/form/div[3]/div/div/input")
     cls.b.send(loca2, password)
     time.sleep(5)
     loca3 = ("xpath",
              ".//*[@id='main']/div/div/div[2]/form/div[5]/div/button")
     cls.b.click(loca3)
     time.sleep(3)
     loca4 = ("xpath",
              ".//*[@id='main']/div/div[1]/div/div[2]/div/ul/li[2]/div[1]")
     cls.b.move(loca4)
     time.sleep(1)
     loca5 = (
         "xpath",
         ".//*[@id='main']/div/div[1]/div/div[2]/div/ul/li[2]/div[2]/ul/li[1]"
     )
     cls.b.click(loca5)
def test_1105():
    """已终止委托做终止结算"""

    # describe:委托合同已终止,再做中直接算会提示不可终止
    # data:1.合同已终止
    # result:1. 终止结算提交失败

    fileName = 'apartmentContract_1105'
    contractSql = "select contract_num from house_contract hc where EXISTS (select * from house_contract_end hce where hce.contract_id=hc.contract_id and hce.deleted=0) " \
                  "and deleted=0 and city_code=330100 and contract_id not in (select hc.contract_id from apartment a,apartment_contract ac,house_contract hc where  hc.contract_id=a.house_contract_id " \
                  "and a.house_id=ac.house_id and ac.real_due_date>NOW())order by rand() limit 1"
    if sqlbase.get_count(contractSql) == 0:
        consoleLog(u'%s:SQL查无数据!' % fileName, 'w')
        consoleLog(u'执行SQL:%s' % contractSql)
        return
    info = sqlbase.serach(contractSql)
    contractNum = info[0]
    consoleLog(u'%s:取随机已终止委托合同 %s 做终止结算' % (fileName, contractNum))

    with Base() as base:
        base.open(page.entrustContractPage, houseContractEndPage.addContractEndMould['tr_contract'])
        base.input_text(houseContractEndPage.searchMould['contract_num_loc'], contractNum)  # 输入合同号
        base.click(houseContractEndPage.searchMould['contract_search_button_loc'])  # 搜索
        base.staleness_of(houseContractEndPage.addContractEndMould['tr_contract'])  # 等待数据刷新
        base.context_click(houseContractEndPage.addContractEndMould['tr_contract'])  # 右击第一条数据
        base.click(houseContractEndPage.addContractEndMould['end_button_loc'], index=1)  # 终止结算
        time.sleep(1)
        message = base.script(
            "var a = $('.panel.window.messager-window>div:nth-child(2)>div:nth-child(2)').text();return a",
            True)  # 获取提示信息
        messagehope = u'该委托合同已结算过'
        base.diffAssert(lambda test: asserts(message).is_equal_to(messagehope),1105,
                        u'%s:委托合同 %s 终止结算异常,期望值 %s 实际值 %s' % (fileName, contractNum, messagehope, message))
Beispiel #15
0
 def setUpClass(cls):
      cls.driver = webdriver.Chrome()
      cls.driver.get('http://www.baidu.com')
      cls.a = Base(cls.driver)
      cls.log = Log()
      cls.driver.maximize_window()
      cls.windows = cls.driver.current_window_handle
def test_1073():
    """出租合同3个页面的保存调用同一个接口,但是参数不一致,检测接口是否正常"""
    with Base() as base:
        contractNum = sqlbase.serach(
            "select contract_num from query_apartment_contract where audit_status = 'AUDIT' and city_code = '330100' and contract_status = 'EFFECTIVE' "
            "and entrust_type = 'SHARE' order by rand() limit 1")
        base.open(
            page.apartmentContractPage,
            apartmentContractPage.searchContractMould['contract_num_loc'])
        base.input_text(
            apartmentContractPage.searchContractMould['contract_num_loc'],
            contractNum)
        base.click(
            apartmentContractPage.searchContractMould['search_button_loc'])
        base.staleness_of(
            apartmentContractPage.searchContractMould['tr_contract'])
        base.dblclick(apartmentContractPage.searchContractMould['tr_contract'],
                      checkLoc=apartmentContractPage.saveBtn)
        for i in range(3):
            base.click(apartmentContractPage.editTab, index=i + 2)
            # base.click(apartmentContractPage.saveBtn,index=i)
            base.wait_element(apartmentContractPage.saveBtn)
            base.driver.find_elements(
                By.CSS_SELECTOR,
                '.search-button-wrapper #form_save')[i].click()
            try:
                base.check_submit()
            except TimeoutException:
                base.diffAssert(lambda t: asserts('1').contains('2'), 1073,
                                u'合同详情第 %s 个tab页无法保存' % str(i + 1))
Beispiel #17
0
def test_1110():
    """委托终止结算已审核删除"""

    # describe:委托终止结算已审核的删除失败
    # data:1、委托终止结算已审核
    # result:1、删除失败

    fileName = 'apartmentContract_1110'
    contractSql = "select hc.contract_num from house_contract_end hce,house_contract hc where hc.contract_id=hce.contract_id and hce.deleted=0 and hce.audit_status='REVIEW' " \
                  "and hc.city_code=330100  order by rand() limit 1"
    if sqlbase.get_count(contractSql) == 0:
        consoleLog(u'%s:SQL查无数据!' % fileName, 'w')
        consoleLog(u'执行SQL:%s' % contractSql)
        return
    info = sqlbase.serach(contractSql)
    contractNum = info[0]
    consoleLog(u'%s:取合同 %s 终止结算做审核' % (fileName, contractNum))

    with Base() as base:
        # 删除终止结算
        base.open(page.contractEndPage, houseContractEndPage.searchMould['contract_search_button_loc'])
        base.click(houseContractEndPage.addContractEndMould['tab_info'], index=1)
        base.input_text(houseContractEndPage.searchMould['end_contract_num_loc'], contractNum)
        base.click(houseContractEndPage.searchMould['end_search_button_loc'])
        base.staleness_of(houseContractEndPage.searchMould['tr_contract_end'])
        base.click(houseContractEndPage.addContractEndMould['delete_button'])
        base.click(houseContractEndPage.addContractEndMould['delete_button_confirm'])
        time.sleep(1)
        message = base.script(
            "var a = $('.panel.window.messager-window>div:nth-child(2)>div:nth-child(2)').text();return a",
            True)  # 获取提示信息
        messagehope = u'终止结算已审核,不可删除'
        base.diffAssert(lambda test: asserts(message).contains(messagehope),1110,
                        u'%s:委托合同 %s 终止结算异常,期望值 %s 实际值 %s' % (fileName, contractNum, messagehope, message))
Beispiel #18
0
def test_add_address(driver_init):
    """测试添加收货地址的正确性"""
    add = Add_address(driver_init)
    # 点击收货管理
    add.click_address()
    # 点击右上角添加地址按钮
    add.click_add_button()
    # 输入收货人姓名
    consignee = "王五"
    add.input_consignee(consignee)
    # 输入电话号码
    mobile = "13312341234"
    add.input_mobile(mobile)
    # 输入邮政编码
    postal = "610000"
    add.input_postal(postal)
    # 点击所在地区
    add.click_region()
    # 点击国家
    add.click_country()
    # 点击省
    base = Base(driver_init)
    base.swipe_up()
    add.click_province()
    # 点击市
    add.click_city()
    # 点击区
    add.click_area()
    # 输入详细地址
    detailed_address = "天府新区"
    add.input_detailed_address(detailed_address)
    # 点击添加地址按钮
    add.click_add_buttons()
    assert True
Beispiel #19
0
def auditDefaultAchievement():
    """审核违约业绩"""
    try:
        base = Base()
        base.open(
            page.apartmentAchievementPage,
            apartmentDefaultAchievementPage.searchContractMould['tr_contract'],
            havaFrame=False)
        contractnum = 'WB1-0067404'
        base.input_text(apartmentDefaultAchievementPage.
                        searchContractMould['contract_num_loc'],
                        contractnum.encode('utf-8'))  #输入合同号
        base.click(apartmentDefaultAchievementPage.
                   searchContractMould['search_button_loc'])  #查找
        base.staleness_of(apartmentDefaultAchievementPage.
                          searchContractMould['tr_contract'])  #等待第一条数据刷新
        base.dblclick(
            apartmentDefaultAchievementPage.searchContractMould['tr_contract'],
            apartmentDefaultAchievementPage.
            detailDefaultMoudle['house_code_loc'])  #点击第一条数据
        #数据校验

        base.click(apartmentDefaultAchievementPage.
                   detailDefaultMoudle['audit_button_loc'])  #审核
        base.input_text(apartmentDefaultAchievementPage.
                        detailAchievementMoudle['contract_audit_content'],
                        u'自动化测试审核意见')  #审核意见
        base.click(apartmentDefaultAchievementPage.
                   detailAchievementMoudle['contract_audit_confirm'])  #确定
        base.check_submit()  #等待提交完成

    finally:
        base.driver.quit()
def test_1007():
    """租合同周期在跟前合同的周期重叠"""

    # describe:租合同周期在跟前合同的周期重叠,提示时间段被占用
    # data:有过出租合同且当前状态为待租的房源,新增出租合同时间在前合同的承租周期内
    # result:合同创建失败

    fileName = 'apartmentContract_1007'
    searchSql = "SELECT a.apartment_code,hc.contract_num,ac.contract_num,date_sub(date(ac.real_due_date), interval 2 DAY) FROM apartment a INNER JOIN house_contract hc " \
                "ON hc.contract_id = a.house_contract_id AND hc.is_active = 'Y' AND hc.deleted = 0 AND hc.audit_status='APPROVED' AND hc.contract_status = 'EFFECTIVE'" \
                "INNER JOIN apartment_contract_relation acr  on a.apartment_id=acr.apartment_id INNER JOIN apartment_contract ac on ac.contract_id=acr.contract_id and ac.deleted=0 " \
                "WHERE a.apartment_id=acr.apartment_id and a.deleted = 0 AND a.rent_price > 0 AND a.city_code = 330100 AND hc.entrust_type = 'SHARE' AND a.rent_status='WAITING_RENT' order by rand() limit 1"
    if sqlbase.get_count(searchSql) == 0:
        consoleLog(u'%s:SQL查无数据!' % fileName, 'w')
        consoleLog(u'执行SQL:%s' % searchSql)
        return
    info = sqlbase.serach(searchSql)
    apartmentCode = info[0]
    consoleLog(u'%s:取随机房源 %s 做签约' %(fileName, apartmentCode))
    signDate = info[3]

    with Base() as base:
        base.open(page.customerListPage, apartmentContractPage.customerSignMould['tr_customer'])
        try:
            base.find_element(By.ID, 'search_btn').click()
            base.staleness_of(apartmentContractPage.customerSignMould['tr_customer'])  # 搜索等待列表刷新
        except:
            base.click((By.CSS_SELECTOR, '.panel.window > div:nth-child(1) > div.panel-tool > a'))  # 可能会有分配租客的弹窗出现,此为关闭
        customerCode = base.script(
            "var a = $('[datagrid-row-index=\"0\"] > [field=\"customer_num\"] > div > font').text();return a",
            True).decode('utf-8')  # 获取第一条数据编号
        base.input_text(apartmentContractPage.customerSignMould['search_customer_name_loc'], customerCode)
        base.click(apartmentContractPage.customerSignMould['search_button_loc'])
        base.staleness_of(apartmentContractPage.customerSignMould['tr_customer'])
        base.script("$('button#edit_btn')[2].click()")  # 点击列表页第一行的签约
        consoleLog(u'使用房源 %s 签约出租合同' % apartmentCode)
        base.click(apartmentContractPage.customerSignMould['share'])  # 点合租
        base.input_text(apartmentContractPage.customerSignMould['search_apartment_loc'], apartmentCode)  # 房源编号
        base.click(apartmentContractPage.customerSignMould['house_search_btn'])
        base.staleness_of(apartmentContractPage.customerSignMould['apartment_loc'])
        base.dblclick(apartmentContractPage.customerSignMould['apartment_loc'])  # 对查询结果的第一条房源数据双击发起签约
        base.click(apartmentContractPage.customerSignMould['newsign_button_loc'])  # 新签
        contractNum = 'AutoTest' + '-' + time.strftime('%m%d%H%M%S')  # 定义合同编号
        randomHouseContract = sqlbase.serach(
            "SELECT entrust_start_date,entrust_end_date,date(sysdate()) from house_contract where contract_num = '%s'" % info[1])  # 获取房源合同时间元素
        base.input_text(apartmentContractPage.addApartmentContractMould['contract_num_loc'], contractNum)  # 合同编号
        base.type_date(apartmentContractPage.typeMould['sign_date'], signDate)  # 签约日期
        base.type_date(apartmentContractPage.typeMould['rent_start_date'], signDate)  # 承租起算日
        base.type_date(apartmentContractPage.typeMould['rent_end_date'], randomHouseContract[1])  # 承租到期日
        time.sleep(3)
        message = base.script(
            "var a = $('.panel.window.messager-window>div:nth-child(2)>div:nth-child(2)').text();return a",
            True)
        if message != '':
            messagehope = u'该时间段被合同号%s占用' % info[2]
            base.diffAssert(lambda test: asserts(message).is_equal_to(messagehope), 1007,
                            u'%s:页面信息提示不正确,期望值 %s 实际值 %s' % (fileName, messagehope, message))
        else:
            consoleLog(u'页面信息获取失败', 'e')
            return
Beispiel #21
0
 def __init__(self,driver):
     self.driver = driver
     self.base = Base(self.driver)
     #定位用户名元素的参数
     self.loc_user = ("id","txtUserName")
     #定位密码元素的参数
     self.loc_pwd = ("id","txtPassWord")
     #定位登录按钮元素的参数
     self.button = ("id","btnSubmit")
     #首页导航菜单中的“涉访管理”按钮元素
     self.loc_sfgl = ("css selector",".nav-feifang-n>a>cite>p")
     #涉访审批管理菜单元素
     self.loc_spgl = ("link text","涉访审批管理")
     #“撤管待审批”菜单元素
     self.loc_cgdsp = ("link text","撤管待审批")
     # 只能用JS来定位到“审批按钮”
     self.appr_butn = '''document.getElementsByTagName('iframe')[2].contentWindow.document.body.
     getElementsByClassName('layui-table-body')[1].getElementsByClassName('layui-btn')[0].click()'''
     #审批结果:选择同意或不同意,index为1是同意,为0是不同意
     self.appr_result = '''document.getElementsByTagName('iframe')[3].contentWindow.document.body.
     getElementsByTagName('fieldset')[1].getElementsByClassName('layui-anim')[1].click()'''
     #审批意见框
     self.appr_idea = '''document.getElementsByTagName('iframe')[3].contentWindow.document.
     body.getElementsByTagName('fieldset')[1].getElementsByClassName('layui-textarea')[0].value=("可以")'''
     #提交审批按钮
     self.appr_submit = '''document.getElementsByTagName('iframe')[3].contentWindow.document.
     getElementById("spButton").click()'''
     #审批“操作成功”提示
     self.submit_tips = ("css selector",".layui-layer-content.layui-layer-padding")
Beispiel #22
0
def _enterPage(driver, host):
    '''
    进入某个页面
    '''
    Base(driver)
    driver.get(host + "/adviser/index/main")
    driver.maximize_window()
Beispiel #23
0
def test():
    """出租合同续签超过可续签日期"""

    # describe:检出租合同续签超过可续签日期,不可签约
    # data:1.合同应收款项全部已审;2.承租到期日>委托合同到期日+延长期
    # result:续签合同失败

    contractSql = "SELECT ac.contract_num,cp.urgent_customer_name,cp.customer_name from apartment_contract ac inner join customer_person cp on ac.person_id=cp.person_id " \
                  "where ac.deleted = 0 and ac.city_code = '330100' and ac.entrust_type='SHARE' and ac.audit_status = 'AUDIT' and ac.contract_status = 'EFFECTIVE' " \
                  "and ac.deleted=0 and payment_type='NORMAL' ORDER BY RAND() LIMIT 1"
    if sqlbase.get_count(contractSql) == 0:
        consoleLog(u'SQL查无数据!', level='w')
        consoleLog(u'执行SQL:%s' % contractSql.encode('utf-8'))
        return
    info = sqlbase.serach(contractSql)
    contractNum = info[0]
    consoleLog(u'取随机合同 %s 做续签' % contractNum)

    with Base() as base:
        base.open(page.apartmentContractPage,
                  apartmentContractPage.searchContractMould['tr_contract'])
        base.input_text(
            apartmentContractPage.searchContractMould['contract_num_loc'],
            contractNum)
        base.click(
            apartmentContractPage.searchContractMould['search_button_loc'])
        base.staleness_of(
            apartmentContractPage.searchContractMould['tr_contract'])
        base.click(
            (apartmentContractPage.searchContractMould['resign_loc']))  # 续签
Beispiel #24
0
    def __call__(self, conns):
        self.base = Base()
        self.finacial_data = conns['financial_data']

        #清空表
        # self.finacial_data.dopost('TRUNCATE TABLE dapan_hangqing_date')
        # self.finacial_data.dopost('TRUNCATE TABLE dapan_code_name')

        # 实时行情
        hangqing = ts.get_index()
        today = self.base.gettoday()
        hangqing['date'] = today.replace('/', '-')
        #大盘指数每日行情数据
        self.base.batchwri(hangqing, 'dapan_hangqing_date', self.finacial_data)
        #大盘代码-名字对照表
        self.base.batchwri(hangqing[['code', 'name']], 'dapan_code_name',
                           self.finacial_data)

        #大盘代码-名字对照表去重
        duizhao = self.finacial_data.getdata('dapan_code_name')
        # print(duizhao.size)
        duizhao_qc = duizhao.drop_duplicates().sort_values(
            by='code').reset_index(drop=True)
        # print(df)
        self.finacial_data.dopost('TRUNCATE TABLE dapan_code_name')
        self.base.batchwri(duizhao_qc, 'dapan_code_name', self.finacial_data)
def test_1123():
    """正退不生成扣回业绩"""

    # describe:出租合同正退终止结算生成扣回业绩,记录同步到预估业绩排行榜
    # data:1、出租合同状态为有效;2、出租合同审核状态为已复审;3、应收扣回金大于0;4、应收转租费大于0
    # result:1、合同状态变为正退;2、不生成扣回业绩;

    fileName = 'apartmentAchievement_1123'
    contractSql = "SELECT contract_num,rent_end_date,date(sysdate()) from apartment_contract where deleted = 0 and city_code = 330100 and audit_status = 'APPROVED' and contract_status = 'EFFECTIVE' " \
                    "and contract_type = 'NEWSIGN' and entrust_type = 'SHARE' and payment_type<>'NETWORKBANK' and rent_end_date>DATE_ADD(date(SYSDATE()),INTERVAL 1 MONTH)order by rand() limit 1"
    if sqlbase.get_count(contractSql) == 0:
        consoleLog(u'%s:SQL查无数据!' % fileName, 'w')
        consoleLog(u'执行SQL:%s' % contractSql)
        return
    info = sqlbase.serach(contractSql)
    contractNum = info[0]
    consoleLog(u'%s:取随机出租合同 %s 做正退终止' % (fileName, contractNum))

    with Base() as base:
        breach_money = '888.88'  # 应收违约金
        zhuanzu_money = '666.66'  # 转租费
        base.open(page.apartmentContractPage, apartmentContractEndPage.addContractEndMould['tr_contract'])
        base.input_text(apartmentContractEndPage.addContractEndMould['contract_num_loc'], contractNum)  # 输入合同编
        base.click(apartmentContractEndPage.addContractEndMould['search_button_loc'])  # 搜索
        base.staleness_of(apartmentContractEndPage.addContractEndMould['tr_contract'])  # 等待列表刷新
        base.context_click(apartmentContractEndPage.addContractEndMould['tr_contract'])  # 右击第一条数据
        base.click(apartmentContractEndPage.addContractEndMould['end_button_loc'], index=1)  # 终止结算
        base.click(apartmentContractEndPage.addContractEndMould['now_end_loc'])  # 立即终止
        endNum = 'AutoACE' + '-' + time.strftime('%m%d%H%M')
        base.input_text(apartmentContractEndPage.addContractEndMould['end_num_loc'], endNum)  # 终止协议号
        base.type_date(apartmentContractEndPage.typeMould['end_date'], info[1])  # 终止日期:承租到期日
        base.type_select(apartmentContractEndPage.typeMould['end_type'], 'RETREATING')  # 正退
        base.input_text(apartmentContractEndPage.addContractEndMould['end_reason_loc'], u'承租周期已完')  # 终止原因
        base.type_select(apartmentContractEndPage.typeMould['receipt_type_loc'], 'PAYER')  # 承租人
        base.type_select(apartmentContractEndPage.typeMould['pay_type_loc'], 'PERSONAL')  # 个人
        base.input_text(apartmentContractEndPage.addContractEndMould['receipt_num_loc'], '123456789')  # 收款卡号
        base.send_keys(apartmentContractEndPage.addContractEndMould['receipt_num_loc'], Keys.ENTER)
        base.click(apartmentContractEndPage.addContractEndMould['cardconfirm_close_loc'])  # 银行卡确认无误
        base.dblclick(apartmentContractEndPage.addContractEndMould['weiyuejin_loc'], index=12)  # 违约金
        base.input_text(apartmentContractEndPage.addContractEndMould['receivable_money_loc'], breach_money)  # 应收违约金
        base.dblclick(apartmentContractEndPage.addContractEndMould['weiyuejin_loc'], index=21)  # 转租费
        base.input_text(apartmentContractEndPage.addContractEndMould['zhuanzu_money_loc'], zhuanzu_money)  # 应收转租金
        base.input_text(apartmentContractEndPage.addContractEndMould['remark_loc'], 'AutoTest')  # 备注
        base.click(apartmentContractEndPage.addContractEndMould['submit_button'])  # 提交
        base.check_submit()  # 等待提交完成
        contractEndAdd = "SELECT ace.end_contract_num FROM apartment_contract ac,apartment_contract_end ace WHERE ac.contract_id = ace.contract_id " \
                         "and ace.audit_status='NO_AUDIT' AND ace.end_type='RETREATING'and ace.deleted=0 and ac.contract_num='%s'" % contractNum
        base.diffAssert(lambda test: asserts(sqlbase.waitData(contractEndAdd, 1)).is_true(), 1123,
                        u'%s:出租合同 %s 终止结算新增异常,执行SQL:%s' % (fileName, contractNum, contractEndAdd))
        # 合同状态检查
        contractStatus = sqlbase.serach(
            "select contract_status from apartment_contract where deleted = 0 and contract_num='%s' " % contractNum)[0]
        base.diffAssert(lambda test: asserts(contractStatus).is_equal_to('RETREATING'), 1123,
                        u'%s:出租合同 %s 终止结算后状态异常异常,期望值 RETREATING 实际值 %s' % (fileName, contractNum, contractStatus))
        # 扣回业绩检查
        time.sleep(10)  # 业绩生成有时间延迟,这里等待10秒
        backAchievementSql = "select is_active,achieve_id,accounting_time from back_achievement where contract_num='%s' and deleted=0 " % contractNum
        base.diffAssert(lambda test: asserts(sqlbase.get_count(backAchievementSql)).is_equal_to(0), 1123,
                            u'%s:出租合同 %s 正退终止有扣回业绩生成,业务异常' % (fileName, contractNum))
def _login(driver, host, user="******", psw="123456"):
    '''普通登录函数'''
    zen = Base(driver)
    driver.get(host + "/zentao/user-login-L3plbnRhby8=.html")
    zen.sendKeys(loc1, user)
    zen.sendKeys(loc2, psw)
    zen.click(loc3)
    time.sleep(2)
Beispiel #27
0
def _login(driver, host, user='******', psw='123456'):
    '''普通登录函数'''
    ximopanda = Base(driver)
    driver.get(host)
    ximopanda.sendKeys(loc1, user)
    ximopanda.sendKeys(loc2, psw)
    ximopanda.click(loc3)
    time.sleep(2)
Beispiel #28
0
 def postNoData(self, address, params):
     # 访问路径
     path = self.url + address
     # 登录返回参数
     # 参数按键盘排序,排序后MD5加密
     sign = Base().md5(Base().sort(params))
     #  加上sign
     params["sign"] = sign
     # 请求方式
     self.r = requests.post(url=path, data=params, headers=self.Cookie)
     if self.r.json()["resultCode"] == 200:
         print("【请求成功】:你很棒 \n【接口地址】:%s \n【请求结果】:%s" %
               (address, self.r.json()))
     else:
         print("【请求异常】:请检查 \n【接口地址】:%s \n【报错信息】:%s" %
               (address, self.r.text))
         return False
def test_1005():
    """未定价房源签约"""

    # describe:房源签完委托合同未定价,合同签约失败
    # data:未定价的房源
    # result:签约失败

    fileName = 'apartmentContract_1005'
    randomApartment = "SELECT a.apartment_code,a.apartment_id,hc.contract_num,hc.contract_id FROM apartment a INNER JOIN house_contract hc " \
                      "ON hc.contract_id = a.house_contract_id AND hc.is_active = 'Y' AND hc.deleted = 0 AND hc.audit_status='APPROVED' AND hc.contract_status = 'EFFECTIVE' " \
                      "INNER JOIN fitment_house fh on fh.house_id=hc.house_id AND fh.fitment_status='HANDOVER' inner join query_apartment qa on qa.apartment_code=a.apartment_code " \
                      "WHERE a.deleted = 0 AND a.rent_price IS NULL AND a.city_code = 330100 AND hc.entrust_type = 'SHARE' AND a.rent_status='WAITING_RENT'ORDER BY RAND() LIMIT 1"
    if sqlbase.get_count(randomApartment) == 0:
        consoleLog(u'%s:SQL查无数据!' % fileName, 'w')
        consoleLog(u'执行SQL:%s' % randomApartment)
        return
    info = sqlbase.serach(randomApartment)
    apartmentCode = info[0]
    consoleLog(u'%s:使用房源 %s 签约出租合同' % (fileName, apartmentCode))

    with Base() as base:
        base.open(page.customerListPage,
                  apartmentContractPage.customerSignMould['tr_customer'])
        try:
            base.find_element(By.ID, 'search_btn').click()
            base.staleness_of(apartmentContractPage.
                              customerSignMould['tr_customer'])  # 搜索等待列表刷新
        except:
            base.click((By.CSS_SELECTOR,
                        '.panel.window > div:nth-child(1) > div.panel-tool > a'
                        ))  # 可能会有分配租客的弹窗出现,此为关闭
        customerCode = base.script(
            "var a = $('[datagrid-row-index=\"0\"] > [field=\"customer_num\"] > div > font').text();return a",
            True)  # 获取第一条数据编号
        base.input_text(
            apartmentContractPage.
            customerSignMould['search_customer_name_loc'], customerCode)
        base.click(
            apartmentContractPage.customerSignMould['search_button_loc'])
        base.staleness_of(
            apartmentContractPage.customerSignMould['tr_customer'])
        base.script("$('button#edit_btn')[2].click()")  # 点击列表页第一行的签约
        base.click(apartmentContractPage.customerSignMould['share'])  # 点合租
        base.input_text(
            apartmentContractPage.customerSignMould['search_apartment_loc'],
            apartmentCode)  # 房源编号
        base.click(apartmentContractPage.customerSignMould['house_search_btn'])
        base.staleness_of(
            apartmentContractPage.customerSignMould['apartment_loc'])
        base.dblclick(apartmentContractPage.customerSignMould['apartment_loc']
                      )  # 对查询结果的第一条房源数据双击发起签约
        time.sleep(1)
        message = base.script(
            "var a = $('.bootstrap-growl.alert.alert-info.alert-dismissible').text();return a",
            True)
        messsagehope = u'房源未定价,找房源方'
        base.diffAssert(lambda test: asserts(message).contains(messsagehope),
                        1005, u'%s:未定价房源 %s 签约异常' % (fileName, apartmentCode))
Beispiel #30
0
def _login_result(driver,_text):
    '''
    登录成功后,获取当前页面的用户名,判断用户名
    '''
    imooc = Base(driver)
    imooc.move(loc_move)
    time.sleep(2)
    r = imooc.is_text_in_element(loc_re,_text)
    return r