#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/2/21 # @Author : Soner # @version : 1.0.0 from selenium.webdriver.common.by import By from common.operation import Operation from common.extend import Extend from Providers.logger import Logger, error_format import os log = Logger("dishonest_phase_operation").getlog() class Dishonest: def __init__(self, driver, element): self.driver = driver self.ELEMENT = element self.operation = Operation(self.driver) self.extend = Extend(self.driver) def into_dishonest_mid(self): search_input = self.operation.new_find_element( By.XPATH, self.ELEMENT["dishonest_search_input"]) return search_input # 通过banner封装进入企业预核名方法 def entrance(self): count = 0 # 获取屏幕比例
# -*- coding: utf-8 -*- # @Time : 2019-10-31 18:44 # @Author : ZYF # @File : search_boss_test1.py from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex import time, random, unittest from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from Providers.logger import Logger log = Logger("查老板_01").getlog() class Search_bossTest1(MyTest, Operation): """查老板_01""" a = Read_Ex() ELEMENT = a.read_excel("Search_boss") # @classmethod # def setUpClass(cls): # super().setUpClass() # a = Read_Ex() # cls.ELEMENT = a.read_excel('Search_boss') def close_guide(self): loc = (By.ID, "com.tianyancha.skyeye:id/btn_close_guide")
# @File : test_all_service1.py import time import random import unittest from Providers.account.account import Account from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from Providers.logger import Logger log = Logger('金刚区_01').getlog() class AllServer1(MyTest, Operation): """金刚区_01""" a = Read_Ex() ELEMENT = a.read_excel('All_server') def in_allserver(self, value, size=1): """ 金刚区 全部服务进入对应的入口 value: 模块名称 example: cll(查老赖) """ self.value = value self.new_find_elements(By.ID, self.ELEMENT['king_area'])[4].click()
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/2/18 # @Author : Soner # @version : 1.0.0 import os import json import random from Providers.phone_info import PhoneInfo from Providers.logger import Logger log = Logger("device_info").getlog() driver_dict = {} class MachinePool(): # 获取项目根目录 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) file = BASE_DIR + '/config/driver_list.json' config_file = BASE_DIR + '/config/' phone = PhoneInfo() def init(self): global driver_dict data = {} # self.driver_dict = {} # 判断文件是否存在 if not os.path.isfile(self.file):
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/3/3 # @Author : Soner # @version : 1.0.0 from selenium.webdriver.common.by import By from appium.webdriver.common.touch_action import TouchAction from common.operation import Operation from Providers.logger import Logger import random log = Logger("公司相关操作").getlog() class CompanyFunc: def __init__(self, driver, excel): self.driver = driver self.operation = Operation(driver) self.excel = excel def search_company(self, company_name, device, company_num=1, max_num=5): """ 搜索公司,并进入 @param company_name: 公司名字 @param device: 设备名字 @param company_num: 搜索结果第几个,从1 开始 @param max_num: @return: """ while True:
# @Time : 2019-12-26 15:40 # @Author : ZYF # @File : test_all_service3.py import time import random import unittest from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from Providers.logger import Logger log = Logger('金刚区_03').getlog() class AllServer3(MyTest, Operation): """金刚区_03""" a = Read_Ex() ELEMENT = a.read_excel('All_server') def in_allserver(self, value, size=1): """ 金刚区 全部服务进入对应的入口 value: 模块名称 example: cll(查老赖) """ self.value = value self.new_find_elements(By.ID, self.ELEMENT['king_area'])[4].click()
# -*- coding: utf-8 -*- # @Time : 2020-02-20 12:23 # @Author : XU # @File : test_search_relation_sift_vip_module_01.py # @Software: PyCharm from common.operation import Operation, getimage import unittest from common.MyTest import MyTest from Providers.sift.sift_opera import SiftOperation from common.ReadData import Read_Ex import random from Providers.logger import Logger, error_format from Providers.account.account import Account log = Logger("查关系_高级筛选_06").getlog() class Search_relation_sift_vip(MyTest, Operation): """查关系_高级筛选_06""" a = Read_Ex() ELEMENT = a.read_excel("Search_relation") account = Account() phone_vip = account.get_account("vip") @classmethod def setUpClass(cls): super().setUpClass() cls.sift_opera = SiftOperation(cls.driver, cls.ELEMENT) cls.sift_opera.login_vip(cls.phone_vip, cls.account.get_pwd())
# -*- coding: utf-8 -*- # @Time : 2020-02-21 15:17 # @Author : sunkai # @Email : [email protected] # @File : test_company_name_pre_check_2.py # @Software: PyCharm from common.MyTest import MyTest from common.operation import Operation, getimage from selenium.webdriver.common.by import By import random from time import sleep from Providers.logger import Logger from testcase.sunkai.sunkai_ele import elements industries = ['网络科技', '电子', '教育科技', '资产', '融资租赁', '人力资源', '广告', '美容美发', '企业管理'] log = Logger('企业预核名2').getlog() class CompanyNameCheck(MyTest, Operation): # 分类搜索预核名入口 def entrance_in_all_search(self): self.new_find_element(By.XPATH, elements['all_style']).click() self.new_find_element(By.XPATH, elements['company_name_check_in_all']).click() # 字号输入字母 @getimage def test_06_input_english_number(self): log.info('字号输入字母') self.entrance_in_all_search() # 输入字母
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/2/18 # @Author : Soner # @version : 1.0.0 import os import json import random from Providers.phone_info import PhoneInfo from Providers.logger import Logger log = Logger("MachinePool").getlog() class MachinePool(): def __init__(self): # 获取项目根目录 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) self.file = BASE_DIR + '/config/driver_list.json' config_file = BASE_DIR + '/config/' data = {} self.driver_dict = {} # 判断文件是否存在 if not os.path.isfile(self.file): # 判断文件夹是否存在 if not os.path.exists(config_file): os.mkdir(config_file) with open(self.file, 'w', encoding='UTF-8') as f: json.dump(data, f)
from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from Providers.logger import Logger import unittest log = Logger("查公司_06").getlog() class Search_companyTest(MyTest, Operation): '''查公司_06''' a = Read_Ex() ELEMENT = a.read_excel('Search_company') @getimage def test_CGS_ZSSJGY_0001(self): '''搜索结果页-未登录&非VIP搜索结果引导登录&VIP''' log.info(self.test_CGS_ZSSJGY_0001.__doc__) goal = [ '未登录搜索关键词查看匹配列表超过40家公司-遮罩引导登录', '非vip搜索关键词查看匹配列表超过100家公司-遮罩引导VIP' ] self.new_find_element(By.ID, self.ELEMENT['search_box']).click() self.new_find_element( By.ID, self.ELEMENT['middle_search_box']).send_keys('京东') count = 0 while True: if not self.new_find_element( By.XPATH, "//*[@class='android.widget.TextView' and @text='立即登录']"):
# @Time : 2019-12-26 15:40 # @Author : ZYF # @File : test_all_service2.py import time import random import unittest from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from Providers.logger import Logger log = Logger('金刚区_02').getlog() class AllServer2(MyTest, Operation): """金刚区_02""" a = Read_Ex() ELEMENT = a.read_excel('All_server') def in_allserver(self, value, size=1): """ 金刚区 全部服务进入对应的入口 value: 模块名称 example: cll(查老赖) """ self.value = value self.new_find_elements(By.ID, self.ELEMENT['king_area'])[4].click()
# @Time : 2020-03-06 13:42 # @Author : XU # @File : test_company_detail_basic_module_01.py # @Software: PyCharm from common.operation import Operation, getimage from Providers.sift.sift_opera import SiftOperation from common.CreditIdentifier import UnifiedSocialCreditIdentifier import unittest from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from Providers.logger import Logger, error_format from Providers.account.account import Account log = Logger("公司详情页-基本信息").getlog() msg = { "开业": "企业依法存在并继续正常运营。", "在业": "企业正常开工生产、新建企业、包括部分投产或试营业。", "存续": "企业依法存在并继续正常运营。", "吊销": "吊销企业营业执照,是工商局对违法企业作出的行政处罚。", "吊销,已注销": "企业被吊销营业执照后,办理企业的注销登记手续。", "吊销,未注销": "企业被吊销营业执照实质上是被剥夺企业的经营资格,而其主体资格依然存在。", "注销": "企业已依法注销营业执照,丧失法人资格。", "迁出": "该企业的注册地址已经变更,并且在工商局办理了企业注册地址变更。", "废止": "该企业已被依法废止。", "核准设立": "该企业已被核准设立。" } class Company_detail_baseinfo(MyTest, Operation):
# -*- coding: utf-8 -*- # @Time : 2019-10-31 18:44 # @Author : wlx # @File : Human_detailTest.py from Providers.back_to_index import back_to_index from Providers.random_str.random_str import RandomStr from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from time import sleep from Providers.logger import Logger, error_format log = Logger("老板认证_01").getlog() class Boss_claim_Test_1(MyTest, Operation): """老板认证_01""" @classmethod def setUpClass(cls): super().setUpClass() # 获取excel cls.ELEMENT = Read_Ex().read_excel("human_detail") cls.vip_user = cls.account.get_account("vip", "0") @classmethod def tearDownClass(cls): super().tearDownClass() cls.account.release_account(account=cls.vip_user, account_type="vip", account_special="0")
# @Author : Soner # @version : 1.0.0 import unittest import time from selenium.webdriver.common.by import By from appium.webdriver.common.touch_action import TouchAction from common.MyTest import MyTest from common.ReadData import Read_Ex from common.operation import Operation from common.operation import getimage from Providers.logger import Logger, error_format from Providers.company.company import CompanyFunc from Providers.account.account import Account log = Logger("公司底部TAB_监控").getlog() class CompanyBottomTab(MyTest): """ 公司底部TAB_监控 """ a = Read_Ex() ELEMENT = a.read_excel("company_bottom_tab") @classmethod def setUpClass(cls): super().setUpClass() cls.operation = Operation(cls.driver) cls.company = CompanyFunc(cls.driver, cls.ELEMENT)
# -*- coding: utf-8 -*- # @Time : 2020-03-17 09:57 # @Author : ZYF # @File : test_check_trademark01.py import time import random import unittest from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from Providers.logger import Logger, error_format from common.check_rules import * log = Logger("查商标").getlog() class Trademark01(MyTest, Operation): """查商标""" a = Read_Ex() ELEMENT = a.read_excel("All_server") def in_allserver(self, value, size=1): """ 金刚区 全部服务进入对应的入口 value: 模块名称 example: cll(查老赖) """ self.value = value
from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from Providers.logger import Logger import time import unittest import re log = Logger("查公司_05").getlog() class Search_companyTest(MyTest, Operation): """查公司_05""" a = Read_Ex() ELEMENT = a.read_excel("Search_company") def search_result_list_check(self, company, company_type=None, index=0): # 检查不同公司展示字段方法 self.new_find_element(By.ID, self.ELEMENT["search_box"]).click() self.new_find_element(By.ID, self.ELEMENT["middle_search_box"]).send_keys(company) legal = self.new_find_elements(By.XPATH,"//*[@resource-id='com.tianyancha.skyeye:id/search_item_legal_title']")[index].text money = self.new_find_elements(By.XPATH, "//*[@resource-id='com.tianyancha.skyeye:id/tv_capital']")[index].text build_date = self.new_find_elements(By.XPATH, "//*[@resource-id='com.tianyancha.skyeye:id/tv_check_date']")[index].text # 0普通公司 1 个体工商户 2个人独资企业 3合伙制企业 4香港企业 5台湾企业 6基金会 7事业单位 8社会组织 9律所 if company_type == 0: goal = "搜索结果页普通公司法定代表人字段校验" self.assertEqual(legal, "法定代表人", "错误————%s" % goal) goal = "搜索结果页普通公司注册资本字段校验" self.assertEqual(money, "注册资本", "错误————%s" % goal)
# @Author : XU # @File : test_search_company_sift_module_01.py # @Software: PyCharm from common.operation import Operation, getimage from Providers.sift.sift_opera import SiftOperation import unittest from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex import random import re from Providers.logger import Logger, error_format from Providers.account.account import Account import datetime log = Logger("查公司_更多筛选_01").getlog() class Search_company_sift(MyTest, Operation): """查公司_更多筛选_01""" a = Read_Ex() ELEMENT = a.read_excel("test_search_company_sift") account = Account() phone_vip = account.get_account("vip") @classmethod def setUpClass(cls): super().setUpClass() cls.sift_opera = SiftOperation(cls.driver, cls.ELEMENT) cls.sift_opera.login_vip(cls.phone_vip, cls.account.get_pwd())
# @Time : 2020-03-06 11:43 # @Author : sunkai # @Email : [email protected] # @File : detail.py # @Software: PyCharm from common.MyTest import MyTest from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.ReadData import Read_Ex from Providers.logger import Logger from common.check_rules import * from Providers.account.account import Account excel = Read_Ex() elements = excel.read_excel("companydetailsunkai") log = Logger("企业背景").getlog() # 企业背景-主要人员和股东信息 class TestMainHuman(MyTest, Operation): account = Account() username = account.get_account('vip') password = account.get_pwd() def into_company_detail(self, company): """ 通过搜索进入公司详情页,搜索结果选择第一条 :param company: 搜索公司名称 :return: None """ self.new_find_element(By.ID, elements["index_search_input"]).click()
import unittest import time from selenium.webdriver.common.by import By from random import randint from common.MyTest import MyTest from common.ReadData import Read_Ex from common.operation import Operation from common.operation import getimage from Providers.logger import Logger, error_format from Providers.company.company import CompanyFunc from Providers.account.account import Account from Providers.random_str.random_str import RandomStr log = Logger("公司底部TAB_更多_反馈").getlog() class CompanyBottomTabMoreFeedback(MyTest): """ 公司底部TAB_更多_反馈 """ a = Read_Ex() ELEMENT = a.read_excel("company_bottom_tab") @classmethod def setUpClass(cls): super().setUpClass() cls.operation = Operation(cls.driver) cls.company = CompanyFunc(cls.driver, cls.ELEMENT) cls.account = Account()
import unittest import time from selenium.webdriver.common.by import By from random import randint from common.MyTest import MyTest from common.ReadData import Read_Ex from common.operation import Operation from common.operation import getimage from Providers.logger import Logger, error_format from Providers.company.company import CompanyFunc from Providers.account.account import Account from Providers.random_str.random_str import RandomStr log = Logger("公司底部TAB_更多_投诉").getlog() class CompanyBottomTabMoreComplaint(MyTest): """ 公司底部TAB_更多_投诉 """ a = Read_Ex() ELEMENT = a.read_excel("company_bottom_tab") @classmethod def setUpClass(cls): super().setUpClass() cls.operation = Operation(cls.driver) cls.company = CompanyFunc(cls.driver, cls.ELEMENT) cls.account = Account()
# @Time : 2020-03-17 16:39 # @Author : XU # @File : test_company_detail_basic_module_02.py # @Software: PyCharm from common.operation import Operation, getimage from Providers.sift.sift_opera import SiftOperation import unittest from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from Providers.logger import Logger, error_format from Providers.account.account import Account import random log = Logger("公司详情页-天眼风险").getlog() class Company_detail_baseinfo(MyTest, Operation): """公司详情页_天眼风险""" a = Read_Ex() ELEMENT = a.read_excel("company_detail_xu") account = Account() account.init_account() phone_vip = account.get_account("vip") contents = [] @classmethod def setUpClass(cls): super().setUpClass()
# @Author : ZYF # @File : operation.py import re import time import os from functools import wraps import tempfile from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.common.by import By from selenium.common.exceptions import NoSuchElementException from Providers.logger import Logger, error_format from PIL import Image import base64 import requests log = Logger("operation").getlog() # 失败截图base64 fail_screenshot = dict() # 用例执行失败自动获取截图装饰器 def getimage(function): global fail_screenshot @wraps(function) def get_error_image(self, *args, **kwargs): try: return function(self, *args, **kwargs) except:
from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from Providers.logger import Logger import re import time import random import unittest log = Logger("公司详情页-自主信息·联系企业01").getlog() # 非vip:11099995054 无所属公司及姓名 # vip:11099990155 无所属公司及姓名 class Company_own_information_contact_01(MyTest, Operation): """公司详情页-自主信息·联系企业01""" def search_result(self, company, index=0): """进入关键词搜索结果列表第一家公司详情页""" self.new_find_element( By.ID, "com.tianyancha.skyeye:id/txt_search_copy1").click() self.new_find_element( By.ID, "com.tianyancha.skyeye:id/search_input_et").send_keys(company) self.new_find_elements( By.XPATH, "//*[@resource-id='com.tianyancha.skyeye:id/tv_company_name']" )[index].click() def is_valid_date(self, str):
# @version : 1.0.0 import unittest from selenium.webdriver.common.by import By from Providers.account.account import Account from Providers.company.company import CompanyFunc from Providers.logger import Logger, error_format from common.MyTest import MyTest from common.ReadData import Read_Ex from common.operation import Operation from common.operation import getimage log = Logger("公司底部TAB_报告").getlog() class CompanyBottomTabReport(MyTest): """ 公司底部TAB_报告 """ a = Read_Ex() ELEMENT = a.read_excel("company_bottom_tab") @classmethod def setUpClass(cls): super().setUpClass() cls.operation = Operation(cls.driver) cls.company = CompanyFunc(cls.driver, cls.ELEMENT) cls.account = Account()
# -*- coding: utf-8 -*- # @Time : 2020-03-23 18:30 # @Author : wlx # @File : company_detail_history_info.py from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from time import sleep, time from Providers.logger import Logger, error_format from common.check_rules import * log = Logger("历史信息_08").getlog() class Company_detail_Test_wlx_8(MyTest, Operation): """VIP用户进入公司详情页历史信息校验""" @classmethod def setUpClass(cls): super().setUpClass() # 获取excel cls.ELEMENT = Read_Ex().read_excel("company_detail_wlx") cls.vip_user = cls.account.get_account("vip", "0") @classmethod def tearDownClass(cls): super().tearDownClass() cls.account.release_account(account=cls.vip_user, account_type="vip", account_special="0")
from threading import Thread, Lock from random import randint import unittest import HTMLTestRunner_PY3 import time import datetime import os from Providers.get_files import CaseFilses from Providers.device_info import MachinePool from Providers.create_sum import create_summary from Providers.logger import Logger from Providers.account.account import Account from common.send_email import sendmail from common.send_ding_message import send_message log = Logger("main_program").getlog() # 获取当前路径 now_dir = os.path.dirname(os.path.abspath(__file__)) # case路径 test_dir = now_dir + "/testcase" # 报告路径 test_report = now_dir + "/report/HTML" now = time.strftime("%Y-%m-%d-%H%M%S") jenkins_path = "/opt/tomcat8/webapps/log/app_auto_result" def kill_adb(): os.popen("killall adb") os.popen("killall node") os.system("adb start-server")
# -*- coding: utf-8 -*- # @Time : 2020-02-20 20:36 # @Author : XU # @File : test_search_company_sift_vip_module_01.py # @Software: PyCharm from common.operation import Operation, getimage import unittest from common.MyTest import MyTest from Providers.sift.sift_opera import SiftOperation from common.ReadData import Read_Ex import random from Providers.logger import Logger, error_format from Providers.account.account import Account log = Logger("查公司_高级筛选_08").getlog() class Search_company_sift_vip(MyTest, Operation): """查公司_高级筛选_08""" a = Read_Ex() ELEMENT = a.read_excel("test_search_company_sift") account = Account() phone_vip = account.get_account("vip") @classmethod def setUpClass(cls): super().setUpClass() cls.sift_opera = SiftOperation(cls.driver, cls.ELEMENT) cls.sift_opera.login_vip(cls.phone_vip, cls.account.get_pwd())
from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from Providers.logger import Logger import time import unittest log = Logger("查公司_07").getlog() class Search_companyTest(MyTest, Operation): '''查公司_07''' a = Read_Ex() ELEMENT = a.read_excel('Search_company') #过期vip:11099995060 @getimage def test_CGS_ZSSJGY_0001(self): '''搜索结果页-过期用户搜索结果引导续费VIP''' log.info(self.test_CGS_ZSSJGY_0001.__doc__) goal = '过期vip搜索关键词查看匹配列表超过100家公司-遮罩引导续费VIP' login_status = self.is_login() if login_status == True: self.logout() self.login(11099995060, 'ef08beca') time.sleep(1) self.new_find_element(By.ID, self.ELEMENT['search_box']).click() self.new_find_element(
from common.operation import Operation, getimage from selenium.webdriver.common.by import By from common.MyTest import MyTest from common.ReadData import Read_Ex from Providers.logger import Logger from common.CreditIdentifier import UnifiedSocialCreditIdentifier import re import time import random #非vip——110-9999-5056 log = Logger("公司详情页-社会组织详情页").getlog() class Social_organization_detail_page(MyTest, Operation): """公司详情页-社会组织详情页""" def search_result(self, company, index=0): """进入关键词搜索结果列表第一家公司详情页""" self.new_find_element(By.ID, 'com.tianyancha.skyeye:id/txt_search_copy1').click() self.new_find_element(By.ID, 'com.tianyancha.skyeye:id/search_input_et').send_keys(company) self.new_find_elements(By.XPATH, "//*[@resource-id='com.tianyancha.skyeye:id/tv_company_name']")[index].click() def go_back(self): '''页面返回''' self.new_find_element(By.ID,'com.tianyancha.skyeye:id/app_title_back').click() def title_name(self): """获取页面名称""" title_text = self.new_find_element(By.ID,'com.tianyancha.skyeye:id/app_title_name').text return title_text
def __init__(self, driver, element): self.driver = driver self.operation = Operation(driver) self.element = element self.log = Logger("sift_tools").getlog()