liumiaomiao 3 years ago
parent
commit
d2130dc7c3
100 changed files with 521 additions and 142 deletions
  1. BIN
      base/__pycache__/base_apge.cpython-37.pyc
  2. 57 20
      base/base_apge.py
  3. BIN
      cases/1非登录/__pycache__/__st__.cpython-37.pyc
  4. BIN
      cases/1非登录/__pycache__/登录失败.cpython-37.pyc
  5. 0 0
      cases/1非登录/__pycache__/登录成功.cpython-37.pyc
  6. 2 0
      cases/1非登录/__st__.py
  7. 1 5
      cases/1非登录/登录失败.py
  8. 0 0
      cases/1非登录/登录成功.py
  9. BIN
      cases/2普通会员登录/__pycache__/__st__.cpython-37.pyc
  10. 5 1
      cases/2普通会员登录/__st__.py
  11. BIN
      cases/2普通会员登录/中标必听课/__pycache__/__st__.cpython-37.pyc
  12. BIN
      cases/2普通会员登录/中标必听课/__pycache__/中标必听课搜索.cpython-37.pyc
  13. 3 0
      cases/2普通会员登录/中标必听课/__st__.py
  14. 7 2
      cases/2普通会员登录/中标必听课/中标必听课搜索.py
  15. BIN
      cases/2普通会员登录/中标必听课/中标必听课详情页/__pycache__/__st__.cpython-37.pyc
  16. BIN
      cases/2普通会员登录/中标必听课/中标必听课详情页/__pycache__/课程详情页.cpython-37.pyc
  17. 4 0
      cases/2普通会员登录/中标必听课/中标必听课详情页/__st__.py
  18. 31 0
      cases/2普通会员登录/中标必听课/中标必听课详情页/课程详情页.py
  19. 6 1
      cases/2普通会员登录/大会员/1大会员落地页.py
  20. BIN
      cases/2普通会员登录/大会员/2大会员购买页/__pycache__/__st__.cpython-37.pyc
  21. BIN
      cases/2普通会员登录/大会员/2大会员购买页/__pycache__/大会员购买页.cpython-37.pyc
  22. 11 0
      cases/2普通会员登录/大会员/2大会员购买页/__st__.py
  23. 13 25
      cases/2普通会员登录/大会员/2大会员购买页/大会员购买页.py
  24. BIN
      cases/2普通会员登录/大会员/3大会员留资页面/__pycache__/__st__.cpython-37.pyc
  25. BIN
      cases/2普通会员登录/大会员/3大会员留资页面/__pycache__/大会员留资.cpython-37.pyc
  26. 2 3
      cases/2普通会员登录/大会员/3大会员留资页面/__st__.py
  27. 11 0
      cases/2普通会员登录/大会员/3大会员留资页面/大会员留资.py
  28. BIN
      cases/2普通会员登录/大会员/__pycache__/1大会员落地页.cpython-37.pyc
  29. BIN
      cases/2普通会员登录/大会员/__pycache__/__st__.cpython-37.pyc
  30. 10 0
      cases/2普通会员登录/大会员/__st__.py
  31. BIN
      cases/2普通会员登录/搜索/招标搜索/__pycache__/__st__.cpython-37.pyc
  32. BIN
      cases/2普通会员登录/搜索/招标搜索/__pycache__/企业搜索.cpython-37.pyc
  33. BIN
      cases/2普通会员登录/搜索/招标搜索/__pycache__/信息详情页.cpython-37.pyc
  34. BIN
      cases/2普通会员登录/搜索/招标搜索/__pycache__/搜索框搜索.cpython-37.pyc
  35. 9 0
      cases/2普通会员登录/搜索/招标搜索/__st__.py
  36. 9 3
      cases/2普通会员登录/搜索/招标搜索/企业搜索.py
  37. 14 10
      cases/2普通会员登录/搜索/招标搜索/信息详情页.py
  38. BIN
      cases/2普通会员登录/搜索/招标搜索/拟建项目/__pycache__/__st__.cpython-37.pyc
  39. BIN
      cases/2普通会员登录/搜索/招标搜索/拟建项目/__pycache__/拟建搜索.cpython-37.pyc
  40. 2 2
      cases/2普通会员登录/搜索/招标搜索/拟建项目/__st__.py
  41. 4 1
      cases/2普通会员登录/搜索/招标搜索/拟建项目/拟建搜索.py
  42. 26 0
      cases/2普通会员登录/搜索/招标搜索/搜索框搜索.py
  43. BIN
      cases/2普通会员登录/搜索/招标搜索/条件搜索/__pycache__/__st__.cpython-37.pyc
  44. BIN
      cases/2普通会员登录/搜索/招标搜索/条件搜索/__pycache__/行业条件搜索.cpython-37.pyc
  45. 2 0
      cases/2普通会员登录/搜索/招标搜索/条件搜索/__st__.py
  46. BIN
      cases/2普通会员登录/搜索/招标搜索/条件搜索/其他条件搜索/__pycache__/其他条件搜索.cpython-37.pyc
  47. 90 0
      cases/2普通会员登录/搜索/招标搜索/条件搜索/其他条件搜索/其他条件搜索.py
  48. 11 0
      cases/2普通会员登录/搜索/招标搜索/条件搜索/行业条件搜索.py
  49. BIN
      cases/2普通会员登录/文库/__pycache__/__st__.cpython-37.pyc
  50. BIN
      cases/2普通会员登录/文库/__pycache__/文库三级页.cpython-37.pyc
  51. BIN
      cases/2普通会员登录/文库/__pycache__/文库下载.cpython-37.pyc
  52. BIN
      cases/2普通会员登录/文库/__pycache__/文库兑换.cpython-37.pyc
  53. BIN
      cases/2普通会员登录/文库/__pycache__/文库搜索.cpython-37.pyc
  54. BIN
      cases/2普通会员登录/文库/__pycache__/文库收藏.cpython-37.pyc
  55. 0 0
      cases/2普通会员登录/文库/__pycache__/文库首页.cpython-37.pyc
  56. 4 1
      cases/2普通会员登录/文库/__st__.py
  57. 4 0
      cases/2普通会员登录/文库/文库三级页.py
  58. 23 0
      cases/2普通会员登录/文库/文库下载.py
  59. 5 4
      cases/2普通会员登录/文库/文库兑换.py
  60. 1 1
      cases/2普通会员登录/文库/文库搜索.py
  61. 7 2
      cases/2普通会员登录/文库/文库收藏.py
  62. 0 0
      cases/2普通会员登录/文库/文库首页.py
  63. BIN
      cases/2普通会员登录/标讯收藏/__pycache__/标讯收藏是否成功.cpython-37.pyc
  64. 22 0
      cases/2普通会员登录/标讯收藏/标讯收藏是否成功.py
  65. BIN
      cases/2普通会员登录/首页/__pycache__/__st__.cpython-37.pyc
  66. BIN
      cases/2普通会员登录/首页/__pycache__/首页头部导航功能检查.cpython-37.pyc
  67. BIN
      cases/2普通会员登录/首页/__pycache__/首页广告位功能检查.cpython-37.pyc
  68. BIN
      cases/2普通会员登录/首页/__pycache__/首页底部导航功能检查.cpython-37.pyc
  69. BIN
      cases/2普通会员登录/首页/__pycache__/首页按地区,信息类型,热门招标模块检查.cpython-37.pyc
  70. 0 0
      cases/2普通会员登录/首页/__pycache__/首页最新公告功能检查.cpython-37.pyc
  71. 0 0
      cases/2普通会员登录/首页/__pycache__/首页最新资讯功能检查.cpython-37.pyc
  72. BIN
      cases/2普通会员登录/首页/__pycache__/首页金刚区功能检查.cpython-37.pyc
  73. 3 0
      cases/2普通会员登录/首页/__st__.py
  74. 30 21
      cases/2普通会员登录/首页/首页头部导航功能检查.py
  75. 2 2
      cases/2普通会员登录/首页/首页广告位功能检查.py
  76. 14 31
      cases/2普通会员登录/首页/首页底部导航功能检查.py
  77. 2 0
      cases/2普通会员登录/首页/首页按地区,信息类型,热门招标模块检查.py
  78. 0 0
      cases/2普通会员登录/首页/首页最新公告功能检查.py
  79. 0 0
      cases/2普通会员登录/首页/首页最新资讯功能检查.py
  80. 7 7
      cases/2普通会员登录/首页/首页金刚区功能检查.py
  81. 0 0
      cases/3大会员登录/__pycache__/__st__.cpython-37.pyc
  82. 0 0
      cases/3大会员登录/__pycache__/大会员使用页面.cpython-37.pyc
  83. 0 0
      cases/3大会员登录/__st__.py
  84. 0 0
      cases/3大会员登录/大会员使用页面.py
  85. 0 0
      cases/3大会员登录/大会员工作台/__pycache__/大会员工作台--常用功能.cpython-37.pyc
  86. 0 0
      cases/3大会员登录/大会员工作台/中标企业预测/__pycache__/__st__.cpython-37.pyc
  87. 0 0
      cases/3大会员登录/大会员工作台/中标企业预测/__pycache__/中标企业预测页面.cpython-37.pyc
  88. 0 0
      cases/3大会员登录/大会员工作台/中标企业预测/__st__.py
  89. 0 0
      cases/3大会员登录/大会员工作台/中标企业预测/中标企业预测页面.py
  90. 0 0
      cases/3大会员登录/大会员工作台/企业情报监控/__pycache__/__st__.cpython-37.pyc
  91. 0 0
      cases/3大会员登录/大会员工作台/企业情报监控/__pycache__/企业情报监控页面.cpython-37.pyc
  92. 0 0
      cases/3大会员登录/大会员工作台/企业情报监控/__st__.py
  93. 0 0
      cases/3大会员登录/大会员工作台/企业情报监控/企业情报监控页面.py
  94. 0 0
      cases/3大会员登录/大会员工作台/大会员工作台--常用功能.py
  95. BIN
      cases/4超级订阅用户登录/__pycache__/__st__.cpython-37.pyc
  96. 11 0
      cases/4超级订阅用户登录/__st__.py
  97. BIN
      cases/4超级订阅用户登录/搜索/__pycache__/__st__.cpython-37.pyc
  98. BIN
      cases/4超级订阅用户登录/搜索/__pycache__/用户输入时间搜索.cpython-37.pyc
  99. 8 0
      cases/4超级订阅用户登录/搜索/__st__.py
  100. 48 0
      cases/4超级订阅用户登录/搜索/用户输入时间搜索.py

BIN
base/__pycache__/base_apge.cpython-37.pyc


+ 57 - 20
base/base_apge.py

@@ -1,3 +1,7 @@
+import shutil
+import time
+from datetime import timedelta
+import datetime
 from selenium import webdriver
 from hytest import *
 from selenium.webdriver.common.action_chains import ActionChains
@@ -16,25 +20,33 @@ class BasePage:
         options = webdriver.ChromeOptions()
         # options = Options()
         # ---无图形界面模式,浏览器采用无头模式
-        options.add_argument("--no-sandbox")
-        options.add_argument("--window-size=1920,1080")
-        options.add_argument("--start-maximized")
-        options.add_argument('--disable-dev-shm-usage')
-        options.add_argument("--headless")
+        # options.add_argument("--no-sandbox")
+        # options.add_argument("--window-size=1920,1080")
+        # options.add_argument("--start-maximized")
+        # options.add_argument('--disable-dev-shm-usage')
+        # options.add_argument("--headless")
         # -----------------------------------------
         options.add_experimental_option('excludeSwitches', ['enable-logging'])
+        prefs = {
+            'profile.default_content_setting_values':
+                {
+                    'notifications': 2
+                }
+        }
+        options.add_experimental_option('prefs', prefs)#关闭浏览器通知
         # 本地环境
-        # wd = webdriver.Chrome(options=options)
+        wd = webdriver.Chrome(options=options)
+        #-------------------------------
         # 3.204  linux环境
-        wd = webdriver.Chrome(executable_path='/var/jenkins_home/workspace/jianyu_auto/chromedriver', options=options)
+        # wd = webdriver.Chrome(executable_path='/var/jenkins_home/workspace/jianyu_auto/chromedriver', options=options)
+        #-------------------------------
         wd.implicitly_wait(10)
         wd.maximize_window()
         # 把driver对象存入全局变量中
         GSTORE['wd'] = wd
         # 打开网站
         wd.get('https://www.jianyu360.com/')
-        # wd.get('https://web2-jytest.jydev.jianyu360.com/')
-
+        # wd.get('https://jybx2-webtest.jydev.jianyu360.com/')
     # 定位单个元素的关键字
     def locator_element(self, loc):
         # loc为一个元祖
@@ -64,26 +76,31 @@ class BasePage:
         select_loc=self.locator_element(loc)
         select=Select(select_loc)
         select.select_by_visible_text(info)
-
-
+    #浏览器上滑300像素
+    def slide_upward(self):
+        wd = GSTORE['wd']
+        js = "var q=document.documentElement.scrollTop=30"  # documentElement表示获取根节点元素
+        wd.execute_script(js)
+    #返回浏览器上一页
+    def back_to_previous_page(self):
+        wd = GSTORE['wd']
+        wd.back()
+        time.sleep(3)
     # 设置值的关键字
     def send_keys(self, loc, value):
         self.locator_element(loc).send_keys(value)
 
     # 单击的关键字
     def click(self, loc):
-        print(loc)
         self.locator_element(loc).click()
 
     # 列表中单击的关键字
     def click_list(self, list, loc):
-        print(loc)
         self.locator_list_element(list, loc).click()
 
     # 列表中单击的关键字2
     def click_direct_list(self, list):
         list.click()
-
     # # 列表中单击的关键字3
     # def click_direct_lists(self, lists):
     #     for list in lists:
@@ -98,7 +115,6 @@ class BasePage:
 
     # 获取元素的值的关键字
     def obtain_key(self, loc, element):
-        print(loc, element)
         return self.locator_element(loc).get_attribute(element)
 
     # 获取input输入框的值的关键字
@@ -107,12 +123,10 @@ class BasePage:
 
     # 获取元素的文本
     def obtain_text(self, loc):
-        print(loc)
         return self.locator_element(loc).text
 
     # 获取列表中的单个元素的值
     def obtain_list_key(self, list, loc):
-        print(list, loc)
         return self.locator_list_element(list, loc).get_attribute('textContent')
 
     # 获取列表中的单个元素的文本
@@ -179,7 +193,14 @@ class BasePage:
     def close_window(self):
         wd = GSTORE['wd']
         wd.close()  # 关闭当前
-
+    #切换到当前最新的打开的窗口
+    def switch_to_firstwindow (self):
+        wd = GSTORE['wd']
+        wd.switch_to_window(wd.window_handles[0])
+    #刷新当前页面
+    def refresh_page(self):
+        wd = GSTORE['wd']
+        wd.refresh()
     # 鼠标悬停关键字
     def mouse_over(self, loc):
         wd = GSTORE['wd']
@@ -208,6 +229,22 @@ class BasePage:
             return True
         else:
             return False
-
-
+    #清空目录下文件(不包括文件夹)
+    def del_file(self,path):
+        ls = os.listdir(path)
+        for i in ls:
+            c_path = os.path.join(path, i)
+            if os.path.isdir(c_path):
+                self.del_file(c_path)
+            else:
+                os.remove(c_path)
+    #获取目录下文件数量
+    def obtain_file_num(self,filepath):
+        file_nums = sum([len(files) for root, dirs, files in os.walk(filepath)])
+        return file_nums
+    #获取当前窗口url
+    def get_current_url(self):
+        wd = GSTORE['wd']
+        url=wd.current_url
+        return url
 bp = BasePage()

BIN
cases/1非登录/__pycache__/__st__.cpython-37.pyc


BIN
cases/1非登录/__pycache__/登录失败.cpython-37.pyc


+ 0 - 0
cases/非登录/__pycache__/登录成功.cpython-37.pyc → cases/1非登录/__pycache__/登录成功.cpython-37.pyc


+ 2 - 0
cases/1非登录/__st__.py

@@ -0,0 +1,2 @@
+
+force_tags = ['登录']

+ 1 - 5
cases/非登录/登录失败.py → cases/1非登录/登录失败.py

@@ -1,6 +1,6 @@
 from hytest import *
 from pageobject.login_page import lp
-force_tags = ['用户名密码登录']
+
 class LoginWeb02:
     tags = ['登录失败']
     ddt_cases = [
@@ -11,10 +11,6 @@ class LoginWeb02:
         {
             'name': '用户名密码登陆---login_test03',
             'para': ['13592420982', '111111', '密码输入错误'],
-        },
-        {
-            'name': '用户名密码登陆---login_test04',
-            'para': ['13594098', '123456', '手机号码输入错误'],
         }
     ]
     def teststeps(self):

+ 0 - 0
cases/非登录/登录成功.py → cases/1非登录/登录成功.py


BIN
cases/2普通会员登录/__pycache__/__st__.cpython-37.pyc


+ 5 - 1
cases/普通会员登录/__st__.py → cases/2普通会员登录/__st__.py

@@ -1,7 +1,11 @@
+from pageobject.index_page import ip
 from pageobject.login_page import lp
 from hytest import *
 import time
+force_tags = ['免费用户登录']
 def suite_setup():
     INFO('登录网站')
     lp.free_login()
-    time.sleep(5)
+    time.sleep(3)
+    ip.close_news_frame()
+    time.sleep(3)

BIN
cases/2普通会员登录/中标必听课/__pycache__/__st__.cpython-37.pyc


BIN
cases/2普通会员登录/中标必听课/__pycache__/中标必听课搜索.cpython-37.pyc


+ 3 - 0
cases/普通会员登录/中标必听课/__st__.py → cases/2普通会员登录/中标必听课/__st__.py

@@ -1,7 +1,10 @@
 from pageobject.index_page import ip
+force_tags = ['免费用户登录-中标必听课']
 def suite_setup():
     # 点击进入中标必听课
     ip.go_to_course()
+def suite_teardown():
+    ip.go_to_index()
 
 
 

+ 7 - 2
cases/普通会员登录/中标必听课/中标必听课搜索.py → cases/2普通会员登录/中标必听课/中标必听课搜索.py

@@ -1,6 +1,8 @@
+import time
+
 from pageobject.course_index_page import ci
 from hytest import *
-
+force_tags = ['中标必听课搜索']
 class CourseIndex:
     name='中标必听课搜索'
     def teststeps(self):
@@ -12,4 +14,7 @@ class CourseIndex01:
     name='中标必听课课程数量'
     def teststeps(self):
         num=ci.sum_course()
-        CHECK_POINT('验证中标必听课课程总数量是否正确',num==16)
+        CHECK_POINT('验证中标必听课课程总数量是否正确',num==26)
+    def teardown(self):
+        ci.del_input()
+        time.sleep(3)

BIN
cases/2普通会员登录/中标必听课/中标必听课详情页/__pycache__/__st__.cpython-37.pyc


BIN
cases/2普通会员登录/中标必听课/中标必听课详情页/__pycache__/课程详情页.cpython-37.pyc


+ 4 - 0
cases/2普通会员登录/中标必听课/中标必听课详情页/__st__.py

@@ -0,0 +1,4 @@
+from pageobject.course_index_page import ci
+def suite_setup():
+    #点击进入中标必听课详情页
+    ci.go_to_detail()

+ 31 - 0
cases/2普通会员登录/中标必听课/中标必听课详情页/课程详情页.py

@@ -0,0 +1,31 @@
+from hytest import *
+from pageobject.course_detail_page import cd
+force_tags = ['中标必听课详情页']
+class CourseDetail:
+    name='课程标题'
+    def teststeps(self):
+        # actual_title='8个真实案例 发改委专家解读 ,投标以案说法系列课程'
+        title=cd.check_title()
+        INFO("课程标题")
+        INFO(title)
+        # CHECK_POINT("检查课程标题是否正确",title==actual_title)
+class CourseDetail01:
+    name='课程基本信息'
+    def teststeps(self):
+        # actual_info=['128','共8节','104时00分00秒','2021年11月11日课程过期']
+        info=cd.check_info()
+        INFO("课程基本信息")
+        INFO(info)
+        # CHECK_POINT('检查课程的基本信息是否正确',info==actual_info)
+class CourseDetail02:
+    name='课程目录'
+    def teststeps(self):
+        num=cd.check_catalogue()
+        INFO("课程目录数量")
+        INFO(num)
+        # CHECK_POINT('判断课程目录数量是否正确',num==8)
+class CourseDetail03:
+    name='课程试看'
+    def teststeps(self):
+        info=cd.check_try()
+        CHECK_POINT('判断课程是否能够试看',info=='该视频不可试看')

+ 6 - 1
cases/普通会员登录/大会员/大会员落地页.py → cases/2普通会员登录/大会员/1大会员落地页.py

@@ -1,7 +1,9 @@
+import time
+
+from base.base_apge import bp
 from pageobject.bigmember_buy_page import bb
 from pageobject.bigmember_index_page import bi
 from hytest import *
-
 class BuyNow:
     name = '未购买大会员点击立即购买'
     def teststeps(self):
@@ -10,3 +12,6 @@ class BuyNow:
         bi.click_buy()
         actural=bb.selected_sj()
         CHECK_POINT('验证首次进入购买页是否默认选中商机版',actural==respect)
+    def teardown(self):
+        bp.back_to_previous_page()
+        time.sleep(3)

BIN
cases/2普通会员登录/大会员/2大会员购买页/__pycache__/__st__.cpython-37.pyc


BIN
cases/2普通会员登录/大会员/2大会员购买页/__pycache__/大会员购买页.cpython-37.pyc


+ 11 - 0
cases/2普通会员登录/大会员/2大会员购买页/__st__.py

@@ -0,0 +1,11 @@
+import time
+
+from base.base_apge import bp
+from pageobject.bigmember_index_page import bi
+def suite_setup():
+    bi.close_ad()
+    time.sleep(3)
+    bp.slide_upward()
+    bi.click_buy()
+    time.sleep(3)
+

+ 13 - 25
cases/普通会员登录/大会员/大会员购买页/大会员购买页.py → cases/2普通会员登录/大会员/2大会员购买页/大会员购买页.py

@@ -1,3 +1,6 @@
+import time
+
+from base.base_apge import bp
 from pageobject.bigmember_buy_page import bb
 from pageobject.bigmember_index_page import bi
 from hytest import *
@@ -5,54 +8,39 @@ force_tags=['大会员购买页验证金额是否正确']
 class SelectedSJOne:
     name='选中大会员商机版及1年'
     def teststeps(self):
-        respect1 ='¥5,999'
+        respect1 ='¥7,999'
         actural1= bb.selected_sj_one()
         CHECK_POINT('验证选中商机版及1年,应付金额是否正确', actural1 == respect1)
 class SelectedSJTwo:
     name='选中大会员商机版及2年'
     def teststeps(self):
-        respect1 ='¥11,998'
+        respect1 ='¥15,998'
         actural1= bb.selected_sj_two()
         CHECK_POINT('验证选中商机版及2年,应付金额是否正确', actural1 == respect1)
 class SelectedSJThree:
     name='选中大会员商机版及3年'
     def teststeps(self):
-        respect1 ='¥17,997'
+        respect1 ='¥23,997'
         actural1= bb.selected_sj_three()
         CHECK_POINT('验证选中商机版及3年,应付金额是否正确', actural1 == respect1)
-class SelectedZHOne:
-    name='选中大会员智慧版及1年'
-    def teststeps(self):
-        respect1='¥15,999'
-        actural = bb.selected_zh_one()
-        CHECK_POINT('验证点击智慧版及1年,应付金额是否正确', actural == respect1)
-class SelectedZHTwo:
-    name='选中大会员智慧版及2年'
-    def teststeps(self):
-        respect1='¥31,998'
-        actural = bb.selected_zh_two()
-        CHECK_POINT('验证点击智慧版及2年,应付金额是否正确', actural == respect1)
-class SelectedZHThree:
-    name='选中大会员智慧版及3年'
-    def teststeps(self):
-        respect1='¥47,997'
-        actural = bb.selected_zh_three()
-        CHECK_POINT('验证点击智慧版及3年,应付金额是否正确', actural == respect1)
 class SelectedZJOne:
     name='选中大会员专家版及1年'
     def teststeps(self):
-        respect1='¥21,999'
+        respect1='¥19,999'
         actural = bb.selected_zj_one()
         CHECK_POINT('验证点击专家版及1年,应付金额是否正确', actural == respect1)
 class SelectedZJTwo:
     name='选中大会员专家版及2年'
     def teststeps(self):
-        respect1='¥43,998'
+        respect1='¥39,998'
         actural = bb.selected_zj_two()
         CHECK_POINT('验证点击专家版及2年,应付金额是否正确', actural == respect1)
 class SelectedZJThree:
     name='选中大会员专家版及3年'
     def teststeps(self):
-        respect1='¥65,997'
+        respect1='¥59,997'
         actural = bb.selected_zj_three()
-        CHECK_POINT('验证点击专家版及3年,应付金额是否正确', actural == respect1)
+        CHECK_POINT('验证点击专家版及3年,应付金额是否正确', actural == respect1)
+def suite_teardown():
+    bp.back_to_previous_page()
+    time.sleep(3)

BIN
cases/2普通会员登录/大会员/3大会员留资页面/__pycache__/__st__.cpython-37.pyc


BIN
cases/2普通会员登录/大会员/3大会员留资页面/__pycache__/大会员留资.cpython-37.pyc


+ 2 - 3
cases/普通会员登录/大会员/大会员留资页面/__st__.py → cases/2普通会员登录/大会员/3大会员留资页面/__st__.py

@@ -1,6 +1,5 @@
+import time
 from pageobject.bigmember_index_page import bi
-
-
 def suite_setup():
     bi.close_ad()
-    bi.click_experience()
+    time.sleep(3)

+ 11 - 0
cases/2普通会员登录/大会员/3大会员留资页面/大会员留资.py

@@ -0,0 +1,11 @@
+from hytest import *
+from pageobject.bigmember_drainage_page import bd
+class BigmemberDrainage:
+    name='大会员留资'
+    def teststeps(self):
+        expected='提交成功'
+        actural=bd.drainage_success()
+        CHECK_POINT('验证大会员留资信息是否正确',expected==actural)
+    def teardown(self):
+        bd.click_iknow()
+

BIN
cases/2普通会员登录/大会员/__pycache__/1大会员落地页.cpython-37.pyc


BIN
cases/2普通会员登录/大会员/__pycache__/__st__.cpython-37.pyc


+ 10 - 0
cases/2普通会员登录/大会员/__st__.py

@@ -0,0 +1,10 @@
+import time
+
+from pageobject.index_page import ip
+force_tags = ['免费用户登录-大会员']
+def suite_setup():
+    #进入大会员页面
+    ip.go_to_bigmember()
+    time.sleep(3)
+def suite_teardown():
+    ip.go_to_index()

BIN
cases/2普通会员登录/搜索/招标搜索/__pycache__/__st__.cpython-37.pyc


BIN
cases/2普通会员登录/搜索/招标搜索/__pycache__/企业搜索.cpython-37.pyc


BIN
cases/2普通会员登录/搜索/招标搜索/__pycache__/信息详情页.cpython-37.pyc


BIN
cases/2普通会员登录/搜索/招标搜索/__pycache__/搜索框搜索.cpython-37.pyc


+ 9 - 0
cases/2普通会员登录/搜索/招标搜索/__st__.py

@@ -0,0 +1,9 @@
+from pageobject.index_page import ip
+from pageobject.search_page import sp
+force_tags = ['搜索']
+def suite_setup():
+    # 点击招标搜索
+    sp.go_to_search()
+    sp.cancel_main_body()
+def suite_teardown():
+    ip.go_to_index()

+ 9 - 3
cases/普通会员登录/搜索/招标搜索/中标企业搜索.py → cases/2普通会员登录/搜索/招标搜索/企业搜索.py

@@ -1,9 +1,15 @@
 from hytest import CHECK_POINT
+from base.base_apge import bp
 from pageobject.search_page import sp
 class BidWinSearch:
-    name = '中标企业搜索---bidwin_test2001'
+    name = '企业搜索---bidwin_test2001'
     def teststeps(self):
         #预期输入“长兴万达建设有限公司”
         #实际输出
-        num,title,date,company=sp.bidwin_search('长兴万达建设有限公司')
-        CHECK_POINT('搜索结果三级页正常打开,中标企业显示和搜索一致', company == '长兴万达建设有限公司')
+        company=sp.bidwin_search('长兴万达建设有限公司')
+        CHECK_POINT('搜索结果三级页正常打开,中标企业显示和搜索一致', company == '长兴万达建设有限公司')
+    def teardown(self):
+        bp.close_window()
+        bp.switch_to_firstwindow()
+        sp.go_to_bidsearch()
+        sp.clear_search_input()

+ 14 - 10
cases/普通会员登录/搜索/招标搜索/信息详情页.py → cases/2普通会员登录/搜索/招标搜索/信息详情页.py

@@ -1,4 +1,5 @@
 from hytest import *
+from base.base_apge import bp
 from pageobject.detail_page import dp
 from pageobject.search_page import sp
 class DetailPage01:
@@ -6,22 +7,20 @@ class DetailPage01:
     def teststeps(self):
         # 实际输入
         actual_word='甘肃省水利厅水土保持局网上商城合同'
-        actual_list=['甘肃','合同','水利水电','1.22万元','04-28']
+        actual_list=['甘肃','合同','水利水电','1.22万元','2021-04-28']
         # 预期输出
         expect=dp.get_detailpage_element(actual_word)
-        expect_keyword=expect[0]
+        temp=expect[0]
+        expect_keyword=temp[:11]
         expect_list=expect[1:]
         CHECK_POINT('验证三级页标题中含有搜索关键词',expect_keyword in actual_word)
         CHECK_POINT('验证搜索结果中项目的区域,类型,行业,金额,日期是否正确', list(expect_list) == actual_list)
-class DetailPage02:
-    name = '信息详情页---detailpage_test02'
-    def teststeps(self):
-        #验证关注功能
-        sp.go_to_detailpage('甘肃省水利厅水土保持局网上商城合同')
-        expect=dp.followed_project().strip()
-        CHECK_POINT('验证三级页关注项目功能',expect=='已关注')
     def teardown(self):
-        dp.unfollowed_project()
+        bp.close_window()
+        bp.switch_to_firstwindow()
+        sp.clear_search_input()
+        bp.refresh_page()
+
 class DetailPage03:
     name = '信息详情页---detailpage_test03'
     def teststeps(self):
@@ -30,3 +29,8 @@ class DetailPage03:
         # 预期结果
         expect=dp.get_projectnotice_num()
         CHECK_POINT('验证项目公告功能',expect>=1 )
+    def teardown(self):
+        bp.close_window()
+        bp.switch_to_firstwindow()
+        sp.clear_search_input()
+        bp.refresh_page()

BIN
cases/2普通会员登录/搜索/招标搜索/拟建项目/__pycache__/__st__.cpython-37.pyc


BIN
cases/2普通会员登录/搜索/招标搜索/拟建项目/__pycache__/拟建搜索.cpython-37.pyc


+ 2 - 2
cases/普通会员登录/搜索/招标搜索/__st__.py → cases/2普通会员登录/搜索/招标搜索/拟建项目/__st__.py

@@ -1,4 +1,4 @@
 from pageobject.search_page import sp
 def suite_setup():
-    # 点击招标搜索
-    sp.go_to_search()
+    #进入拟建项目
+    sp.go_to_proposedproject()

+ 4 - 1
cases/普通会员登录/搜索/招标搜索/拟建项目/拟建搜索.py → cases/2普通会员登录/搜索/招标搜索/拟建项目/拟建搜索.py

@@ -9,4 +9,7 @@ class proposedSearch:
         INFO('点击表格,生成图片,查看表格是否正常')
         pp.check_table()
         bp.generate_images('70%')
-        # LOG_IMG('imgs/abc.png', width='70%')
+        # LOG_IMG('imgs/abc.png', width='70%')
+    def teardown(self):
+        bp.back_to_previous_page()
+        bp.back_to_previous_page()

+ 26 - 0
cases/2普通会员登录/搜索/招标搜索/搜索框搜索.py

@@ -0,0 +1,26 @@
+from hytest import *
+from base.base_apge import bp
+from pageobject.search_page import sp
+force_tags = ['招标搜索']
+class BidSearch01:
+    ddt_cases = [
+        # 搜索内容为多个关键词,中间逗号隔开
+        {
+            'name': '招标搜索---search_test04',
+            'para': {
+                'keys':'学校,键盘,电脑',
+            }
+        }
+    ]
+    def teststeps(self):
+        # 实际输入
+        actual_keys=self.para['keys']
+        # 预期输出
+        lists=sp.get_list(actual_keys)
+        expect=sp.get_list_elements(lists)
+        expect_keys=expect[0]
+        fomat_actual_keys='学校键盘电脑'
+        CHECK_POINT('验证搜索结果中关键词是否正确', expect_keys in fomat_actual_keys)
+    def teardown(self):
+        sp.clear_search_input()
+        bp.refresh_page()

BIN
cases/2普通会员登录/搜索/招标搜索/条件搜索/__pycache__/__st__.cpython-37.pyc


BIN
cases/2普通会员登录/搜索/招标搜索/条件搜索/__pycache__/行业条件搜索.cpython-37.pyc


+ 2 - 0
cases/普通会员登录/搜索/招标搜索/条件搜索/__st__.py → cases/2普通会员登录/搜索/招标搜索/条件搜索/__st__.py

@@ -3,3 +3,5 @@ def suite_setup():
     #搜索框预设关键词“税务局”
     # 由于该网站搜索功能的特殊性,点击除了行业以外的搜索条件,需要在搜索框先输入一个关键词才能进行其他条件的搜索
     sp.send_searchinput_key('税务局')
+def suite_teardown():
+    sp.clear_search_input()

BIN
cases/2普通会员登录/搜索/招标搜索/条件搜索/其他条件搜索/__pycache__/其他条件搜索.cpython-37.pyc


+ 90 - 0
cases/2普通会员登录/搜索/招标搜索/条件搜索/其他条件搜索/其他条件搜索.py

@@ -0,0 +1,90 @@
+from hytest import *
+from pageobject.search_page import sp
+class ConditionalSearch02:
+    name = '区域搜索---conditional_test02'
+    def teststeps(self):
+        #实际输入
+        #预期输出
+        excepted = sp.area_search()
+        #设置检查点
+        #1、列表表达式,判断a列表中的元素是否都在b中
+        # [False for n in a if n not in b],返回值为[]或[False]
+        #2、把列表转化为集合,set(b) < set(a) # a是否包含b,<= 则表示是否是子集
+        if '安徽' in excepted:
+            CHECK_POINT('验证搜索的区域和搜索结果的区域相同', True)
+    def teardown(self):
+        sp.click_areaAll()
+class ConditionalSearch03:
+    name = '信息类型搜索---conditional_test03'
+    def teststeps(self):
+        # 预期输出
+        excepted=sp.type_search()
+        #设置检查点
+        if '采购意向' in excepted:
+            CHECK_POINT('验证搜索的信息类型和搜索结果的信息类型相同', True)
+    def teardown(self):
+        sp.click_typeAll()
+class ConditionalSearch04:
+    ddt_cases = [
+        {
+            'name': '价格搜索---test3011',
+            'para': ['10', '100']
+        },
+        {
+            'name': '价格搜索---test3015',
+            'para': ['10.99', '100.99']
+        }
+    ]
+    def teststeps(self):
+        #实际输入
+        actural_minprice,actural_maxprice=self.para
+        # 预期输出
+        sp.cancel_main_body()#取消正文勾选
+        result=sp.price_search(actural_minprice,actural_maxprice)
+        excepted=result.split('万元')[0]
+        #设置检查点
+        CHECK_POINT('验证搜索结果的价格在搜索价格范围内',float(actural_minprice)<= float(excepted)<=float(actural_maxprice))
+    def teardown(self):
+        sp.clear_price()
+        sp.click_priceAll()
+class ConditionalSearch05:
+    tags=['发布时间搜索']
+    ddt_cases=[
+        {
+            'name': '发布时间搜索---test3021',
+            'para': {
+                'time':['最近七天'],
+                'flag':1,
+            }
+        },
+        {
+            'name': '发布时间搜索---test30211',
+            'para': {
+                'time': [ '最近30天'],
+                'flag': 11,
+            }
+        }
+    ]
+    def teststeps(self):
+        #实际输入
+        temp=self.para
+        flag=temp['flag']
+        # 预期输出
+        if flag==1:
+            result = sp.seven_search()
+            # actural = result[0]
+            # excepted = result[1]
+            if '分钟' or '小时' in result:
+                #设置检查点
+                CHECK_POINT('验证搜索结果的日期在搜索日期内,搜索日期:最近七天', True)
+        if flag == 11:
+            result = sp.month_search()
+            # actural = result[0]
+            # excepted = result[1]
+            if '分钟' or '小时' in result:
+                CHECK_POINT('验证搜索结果的日期在搜索日期内,搜索日期:最近1个月', True)
+                # if len(date)<=5:
+                #     #测试环境暂定这样写,正式环境上30天之内的数据和7天之内的数据判断方式一致,都是上述两个判断方式,这个if只是处理测试环境没有数据的问题
+                #     CHECK_POINT('验证搜索结果的日期在搜索日期内搜索日期:’最近30天‘', True)
+    def teardown(self):
+            sp.click_typeAll()

+ 11 - 0
cases/2普通会员登录/搜索/招标搜索/条件搜索/行业条件搜索.py

@@ -0,0 +1,11 @@
+from hytest import *
+from pageobject.search_page import sp
+force_tags = ['条件搜索']
+class ConditionalSearch01:
+    name='行业搜索---conditional_test01'
+    def teststeps(self):
+        excepted= sp.industry_search()
+        if '建筑工程' in excepted:
+            CHECK_POINT('验证搜索的行业和搜索结果的行业相同',True)
+    def teardown(self):
+        sp.click_induAll()

BIN
cases/2普通会员登录/文库/__pycache__/__st__.cpython-37.pyc


BIN
cases/2普通会员登录/文库/__pycache__/文库三级页.cpython-37.pyc


BIN
cases/2普通会员登录/文库/__pycache__/文库下载.cpython-37.pyc


BIN
cases/2普通会员登录/文库/__pycache__/文库兑换.cpython-37.pyc


BIN
cases/普通会员登录/文库/__pycache__/文库搜索.cpython-37.pyc → cases/2普通会员登录/文库/__pycache__/文库搜索.cpython-37.pyc


BIN
cases/2普通会员登录/文库/__pycache__/文库收藏.cpython-37.pyc


+ 0 - 0
cases/普通会员登录/文库/__pycache__/文库首页.cpython-37.pyc → cases/2普通会员登录/文库/__pycache__/文库首页.cpython-37.pyc


+ 4 - 1
cases/普通会员登录/文库/__st__.py → cases/2普通会员登录/文库/__st__.py

@@ -1,4 +1,7 @@
 from pageobject.index_page import ip
+force_tags=['文库']
 def suite_setup():
     # 点击进入剑鱼文库
-    ip.go_to_library()
+    ip.go_to_library()
+def suite_teardown():
+    ip.go_to_index()

+ 4 - 0
cases/普通会员登录/文库/文库三级页.py → cases/2普通会员登录/文库/文库三级页.py

@@ -1,3 +1,4 @@
+from base.base_apge import bp
 from pageobject.library_detail_page import ldp
 from hytest import *
 
@@ -6,3 +7,6 @@ class LibraryDetail:
     def teststeps(self):
         expect = ldp.check_library_detail_page()
         CHECK_POINT('验证文库三级页是否能打开',expect=='摘要')
+    def teardown(self):
+        bp.close_window()
+        bp.switch_to_firstwindow()

+ 23 - 0
cases/2普通会员登录/文库/文库下载.py

@@ -0,0 +1,23 @@
+from base.base_apge import bp
+from pageobject.library_detail_page import ldp
+from hytest import *
+
+class LibraryDownload():
+    name = '文档下载'
+    def teststeps(self):
+        ldp.click_firstinfo()
+        # ldp.click_downloadfile()
+        # fe.file_exchange()
+        expect=ldp.download_file()
+        CHECK_POINT('文档下载成功',expect==True)
+    def teardown(self):
+        bp.close_window()
+        bp.switch_to_firstwindow()
+# class LibraryDownload1():
+#     name = '文档下载--未兑换'
+#     def teststeps(self):
+#         ldp.click_firstinfo()
+#         # ldp.click_downloadfile()
+#         # fe.file_exchange()
+#         expect=ldp.notconverted_file()
+#         CHECK_POINT('剑鱼币不足,请充值',expect=='立即充值')

+ 5 - 4
cases/普通会员登录/文库/文库兑换.py → cases/2普通会员登录/文库/文库兑换.py

@@ -1,10 +1,11 @@
-from pageobject.file_exchange import fe
+from base.base_apge import bp
 from pageobject.library_detail_page import ldp
 from hytest import *
 class LibraryExchange():
     name='文档兑换'
     def teststeps(self):
-        ldp.click_firstinfo()
-        ldp.click_downloadfile()
-        expect= fe.file_exchange()
+        expect= ldp.file_exchange()
         CHECK_POINT('文档兑换成功',expect=='兑换成功')
+    def teardown(self):
+        bp.close_window()
+        bp.switch_to_firstwindow()

+ 1 - 1
cases/普通会员登录/文库/文库搜索.py → cases/2普通会员登录/文库/文库搜索.py

@@ -1,6 +1,6 @@
 from hytest import *
 from pageobject.library_page import lp
-force_tags=['文库搜索']
+force_tags=['文库搜索收藏']
 class LibrarySearch:
     name='文库搜索--全部类型'
     def teststeps(self):

+ 7 - 2
cases/普通会员登录/文库/文库收藏.py → cases/2普通会员登录/文库/文库收藏.py

@@ -1,6 +1,7 @@
+from base.base_apge import bp
 from pageobject.library_detail_page import ldp
 from hytest import *
-
+force_tags=['文库搜索收藏']
 class LibraryCollection():
     name='文库收藏'
     def teststeps(self):
@@ -10,7 +11,8 @@ class LibraryCollection():
         CHECK_POINT('验证收藏是否成功',result=='已收藏')
     def teardown(self):
         ldp.cancel_collection()
-
+        bp.close_window()
+        bp.switch_to_firstwindow()
 class LibraryCollection1():
     name='文库取消收藏'
     def teststeps(self):
@@ -19,4 +21,7 @@ class LibraryCollection1():
         ldp.click_collection()
         result=ldp.check_cancel_collection()
         CHECK_POINT('验证取消收藏是否成功',result=='收藏')
+    def teardown(self):
+        bp.close_window()
+        bp.switch_to_firstwindow()
 

+ 0 - 0
cases/普通会员登录/文库/文库首页.py → cases/2普通会员登录/文库/文库首页.py


BIN
cases/2普通会员登录/标讯收藏/__pycache__/标讯收藏是否成功.cpython-37.pyc


+ 22 - 0
cases/2普通会员登录/标讯收藏/标讯收藏是否成功.py

@@ -0,0 +1,22 @@
+import time
+from hytest import *
+from base.base_apge import bp
+from pageobject.bid_collection_page import bcp
+from pageobject.detail_page import dp
+from pageobject.index_page import ip
+from pageobject.search_page import sp
+
+class test01:
+    name="验证三级页标讯收藏是否成功"
+    def teststeps(self):
+        #验证收藏功能
+        sp.go_to_search()
+        sp.go_to_detailpage('甘肃省水利厅水土保持局网上商城合同')
+        dp.collection_info()
+        ip.go_to_bidcollect()
+        expect=bcp.obtain_first_info()
+        CHECK_POINT('验证收藏是否成功',expect=='甘肃省水利厅水土保持局网上商城合同')
+    def teardown(self):
+        bp.back_to_previous_page()
+        time.sleep(2)
+        dp.uncollection_info()

BIN
cases/2普通会员登录/首页/__pycache__/__st__.cpython-37.pyc


BIN
cases/普通会员登录/首页/__pycache__/首页头部导航功能检查.cpython-37.pyc → cases/2普通会员登录/首页/__pycache__/首页头部导航功能检查.cpython-37.pyc


BIN
cases/2普通会员登录/首页/__pycache__/首页广告位功能检查.cpython-37.pyc


BIN
cases/2普通会员登录/首页/__pycache__/首页底部导航功能检查.cpython-37.pyc


BIN
cases/2普通会员登录/首页/__pycache__/首页按地区,信息类型,热门招标模块检查.cpython-37.pyc


+ 0 - 0
cases/普通会员登录/首页/__pycache__/首页最新公告功能检查.cpython-37.pyc → cases/2普通会员登录/首页/__pycache__/首页最新公告功能检查.cpython-37.pyc


+ 0 - 0
cases/普通会员登录/首页/__pycache__/首页最新资讯功能检查.cpython-37.pyc → cases/2普通会员登录/首页/__pycache__/首页最新资讯功能检查.cpython-37.pyc


BIN
cases/普通会员登录/首页/__pycache__/首页金刚区功能检查.cpython-37.pyc → cases/2普通会员登录/首页/__pycache__/首页金刚区功能检查.cpython-37.pyc


+ 3 - 0
cases/2普通会员登录/首页/__st__.py

@@ -0,0 +1,3 @@
+from pageobject.index_page import ip
+
+

+ 30 - 21
cases/普通会员登录/首页/首页头部导航功能检查.py → cases/2普通会员登录/首页/首页头部导航功能检查.py

@@ -8,7 +8,7 @@ class CheckLink:
         #实际输入
         #预期输出
         excepted=ip.check_head_member()
-        CHECK_POINT('检查首页头部会员链接能否打开',excepted=='免费版订阅')
+        CHECK_POINT('检查首页头部会员链接能否打开',excepted=='https://www.jianyu360.cn/front/subscribe.html')
     def teardown(self):
         ip.go_to_index()
 #检查头部超级订阅链接
@@ -18,7 +18,7 @@ class CheckLink01:
         #实际输入
         #预期输出
         excepted=ip.check_head_subscribe()
-        CHECK_POINT('检查首页头部超级订阅链接能否打开',excepted=='免费版订阅')
+        CHECK_POINT('检查首页头部超级订阅链接能否打开',excepted=='https://www.jianyu360.cn/front/subscribe.html')
     def teardown(self):
         ip.go_to_index()
 #检查头部大会员链接
@@ -28,7 +28,16 @@ class CheckLink02:
         #实际输入
         #预期输出
         excepted=ip.check_head_bigmember()
-        CHECK_POINT('检查首页头部大会员链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页头部大会员链接能否打开',excepted=='https://www.jianyu360.cn/big/page/index')
+    def teardown(self):
+        ip.go_to_index()
+class CheckLink021:
+    name='首页头部商机管理链接检查--index_head021'
+    def teststeps(self):
+        #实际输入
+        #预期输出
+        excepted=ip.check_opportunity()
+        CHECK_POINT('检查首页头部商机管理链接能否打开',excepted=='https://www.jianyu360.cn/swordfish/frontPage/entpc/free/enptc_index')
     def teardown(self):
         ip.go_to_index()
 # 检查头部自助导出链接
@@ -48,7 +57,7 @@ class CheckLink04:
         #实际输入
         #预期输出
         excepted=ip.check_head_structured()
-        CHECK_POINT('检查首页头部定制服务链接能否打开',excepted=='抢先体验结构化招标数据')
+        CHECK_POINT('检查首页头部定制服务链接能否打开',excepted=='https://www.jianyu360.cn/front/structed/pc_index.html')
     def teardown(self):
         ip.go_to_index()
 # 检查头部中标必听课链接
@@ -61,16 +70,6 @@ class CheckLink05:
         CHECK_POINT('检查首页头部中标必听课链接能否打开',excepted=='中标必听课')
     def teardown(self):
         ip.go_to_index()
-#检查头部招标文件解读链接
-class CheckLink051:
-    name='首页头部招标文件解读链接检查--index_head051'
-    def teststeps(self):
-        #实际输入
-        #预期输出
-        excepted=ip.check_head_bidfile()
-        CHECK_POINT('检查首页头部招标文件解读链接能否打开',excepted=='上传文件')
-    def teardown(self):
-        ip.go_to_index()
 # 检查头部剑鱼文库链接
 class CheckLink06:
     name='首页头部剑鱼文库链接检查--index_head06'
@@ -88,7 +87,7 @@ class CheckLink07:
         #实际输入
         #预期输出
         excepted=ip.check_head_forecast()
-        CHECK_POINT('检查首页头部中标预测链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页头部中标预测链接能否打开',excepted=='https://www.jianyu360.cn/big/page/zb')
     def teardown(self):
         ip.go_to_index()
 # 检查头部潜在客户挖掘链接
@@ -98,7 +97,7 @@ class CheckLink08:
         #实际输入
         #预期输出
         excepted=ip.check_head_customer()
-        CHECK_POINT('检查首页头部潜在客户挖掘链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页头部潜在客户挖掘链接能否打开',excepted=='https://www.jianyu360.cn/big/page/yw')
     def teardown(self):
         ip.go_to_index()
 # 检查头部潜在合作伙伴挖掘链接
@@ -108,7 +107,7 @@ class CheckLink09:
         #实际输入
         #预期输出
         excepted=ip.check_head_partner()
-        CHECK_POINT('检查首页头部潜在合作伙伴挖掘链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页头部潜在合作伙伴挖掘链接能否打开',excepted=='https://www.jianyu360.cn/big/page/yw')
     def teardown(self):
         ip.go_to_index()
 # 检查头部招标决策分析链接
@@ -118,7 +117,7 @@ class CheckLink10:
         #实际输入
         #预期输出
         excepted=ip.check_head_decision()
-        CHECK_POINT('检查首页头部招标决策分析链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页头部招标决策分析链接能否打开',excepted=='https://www.jianyu360.cn/big/page/tb')
     def teardown(self):
         ip.go_to_index()
  # 检查头部竞争对手分析链接
@@ -128,7 +127,7 @@ class CheckLink11:
         # 实际输入
         # 预期输出
         excepted = ip.check_head_compete()
-        CHECK_POINT('检查首页头部竞争对手分析链接能否打开', excepted == '剑鱼大会员')
+        CHECK_POINT('检查首页头部竞争对手分析链接能否打开', excepted == 'https://www.jianyu360.cn/big/page/qy')
     def teardown(self):
         ip.go_to_index()
 # 检查头部市场分析链接
@@ -138,7 +137,7 @@ class CheckLink12:
         # 实际输入
         # 预期输出
         excepted = ip.check_head_market_analysis()
-        CHECK_POINT('检查首页头部市场分析链接能否打开', excepted == '剑鱼大会员')
+        CHECK_POINT('检查首页头部市场分析链接能否打开', excepted == 'https://www.jianyu360.cn/big/page/sc')
     def teardown(self):
         ip.go_to_index()
 # 检查头部客户分析链接
@@ -148,7 +147,7 @@ class CheckLink13:
         # 实际输入
         # 预期输出
         excepted = ip.check_head_customer_analysis()
-        CHECK_POINT('检查首页头部客户分析链接能否打开', excepted == '剑鱼大会员')
+        CHECK_POINT('检查首页头部客户分析链接能否打开', excepted == 'https://www.jianyu360.cn/big/page/cg')
     def teardown(self):
         ip.go_to_index()
 # 检查头部关于我们链接
@@ -181,5 +180,15 @@ class CheckLink24:
         # 预期输出
         excepted = ip.check_head_ad()
         CHECK_POINT('检查首页头部广告服务链接能否打开', excepted == '广告服务')
+    def teardown(self):
+        ip.go_to_index()
+# 检查头部广告服务链接
+class CheckLink25:
+    name = '首页头部产品销售合作链接检查--index24'
+    def teststeps(self):
+        # 实际输入
+        # 预期输出
+        excepted = ip.check_head_sale()
+        CHECK_POINT('检查首页头部产品销售合作链接能否打开', excepted == 'https://www.jianyu360.cn/swordfish/frontPage/partner/free/index')
     def teardown(self):
         ip.go_to_index()

+ 2 - 2
cases/普通会员登录/首页/首页广告位功能检查.py → cases/2普通会员登录/首页/首页广告位功能检查.py

@@ -8,7 +8,7 @@ class CheckLink25:
         # 实际输入
         # 预期输出
         excepted = ip.check_ad_left()
-        CHECK_POINT('检查首页左侧广告位链接能否打开', excepted == '上传文件')
+        CHECK_POINT('检查首页左侧广告位是否存在', excepted == True)
     def teardown(self):
         ip.go_to_index()
 # 检查右侧广告位链接
@@ -18,6 +18,6 @@ class CheckLink26:
         # 实际输入
         # 预期输出
         excepted = ip.check_ad_right()
-        CHECK_POINT('检查首页右侧广告位链接能否打开', excepted == '免费版订阅')
+        CHECK_POINT('检查首页右侧广告位是否存在', excepted == True)
     def teardown(self):
         ip.go_to_index()

+ 14 - 31
cases/普通会员登录/首页/首页底部导航功能检查.py → cases/2普通会员登录/首页/首页底部导航功能检查.py

@@ -1,6 +1,8 @@
 from hytest import *
 from pageobject.index_page import ip
 force_tags=['首页底部导航功能检查']
+def suite_setup():
+    ip.close_ad()
 #检查底部超级订阅链接
 class CheckLink08:
     name='首页底部超级订阅链接检查--index08'
@@ -8,7 +10,7 @@ class CheckLink08:
         #实际输入
         #预期输出
         excepted=ip.check_bottom_subscribe()
-        CHECK_POINT('检查首页底部超级订阅链接能否打开',excepted=='免费版订阅')
+        CHECK_POINT('检查首页底部超级订阅链接能否打开',excepted=='https://www.jianyu360.cn/front/subscribe.html')
     def teardown(self):
         ip.go_to_index()
 #检查底部大会员链接
@@ -18,7 +20,7 @@ class CheckLink09:
         #实际输入
         #预期输出
         excepted=ip.check_bottom_bigmember()
-        CHECK_POINT('检查首页底部大会员链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页底部大会员链接能否打开',excepted=='https://www.jianyu360.cn/big/page/index')
     def teardown(self):
         ip.go_to_index()
 # 检查底部自助导出链接
@@ -38,7 +40,7 @@ class CheckLink11:
         #实际输入
         #预期输出
         excepted=ip.check_bottom_structured()
-        CHECK_POINT('检查首页底部定制服务链接能否打开',excepted=='抢先体验结构化招标数据')
+        CHECK_POINT('检查首页底部定制服务链接能否打开',excepted=='https://www.jianyu360.cn/front/structed/pc_index.html')
     def teardown(self):
         ip.go_to_index()
 # 检查底部中标必听课链接
@@ -48,7 +50,7 @@ class CheckLink12:
         #实际输入
         #预期输出
         excepted=ip.check_bottom_course()
-        CHECK_POINT('检查首页底部定制服务链接能否打开',excepted=='中标必听课')
+        CHECK_POINT('检查首页底部中标比听课链接能否打开',excepted=='中标必听课')
     def teardown(self):
         ip.go_to_index()
 # 检查底部剑鱼文库链接
@@ -68,7 +70,7 @@ class CheckLink14:
         #实际输入
         #预期输出
         excepted=ip.check_bottom_forecast()
-        CHECK_POINT('检查首页底部中标预测链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页底部中标预测链接能否打开',excepted=='https://www.jianyu360.cn/big/page/zb')
     def teardown(self):
         ip.go_to_index()
 # 检查底部潜在客户挖掘链接
@@ -78,7 +80,7 @@ class CheckLink15:
         #实际输入
         #预期输出
         excepted=ip.check_bottom_customer()
-        CHECK_POINT('检查首页底部潜在客户挖掘链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页底部潜在客户挖掘链接能否打开',excepted=='https://www.jianyu360.cn/big/page/yw')
     def teardown(self):
         ip.go_to_index()
 # 检查底部潜在合作伙伴挖掘链接
@@ -88,7 +90,7 @@ class CheckLink16:
         #实际输入
         #预期输出
         excepted=ip.check_bottom_partner()
-        CHECK_POINT('检查首页底部潜在合作伙伴挖掘链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页底部潜在合作伙伴挖掘链接能否打开',excepted=='https://www.jianyu360.cn/big/page/yw')
     def teardown(self):
         ip.go_to_index()
 # 检查底部招标决策分析链接
@@ -98,7 +100,7 @@ class CheckLink17:
         #实际输入
         #预期输出
         excepted=ip.check_bottom_decision()
-        CHECK_POINT('检查首页底部招标决策分析链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页底部招标决策分析链接能否打开',excepted=='https://www.jianyu360.cn/big/page/tb')
     def teardown(self):
         ip.go_to_index()
  # 检查底部竞争对手分析链接
@@ -108,7 +110,7 @@ class CheckLink18:
         # 实际输入
         # 预期输出
         excepted = ip.check_bottom_compete()
-        CHECK_POINT('检查首页底部竞争对手分析链接能否打开', excepted == '剑鱼大会员')
+        CHECK_POINT('检查首页底部竞争对手分析链接能否打开', excepted == 'https://www.jianyu360.cn/big/page/qy')
     def teardown(self):
         ip.go_to_index()
 # 检查底部市场分析链接
@@ -118,7 +120,7 @@ class CheckLink19:
         # 实际输入
         # 预期输出
         excepted = ip.check_bottom_market_analysis()
-        CHECK_POINT('检查首页底部市场分析链接能否打开', excepted == '剑鱼大会员')
+        CHECK_POINT('检查首页底部市场分析链接能否打开', excepted == 'https://www.jianyu360.cn/big/page/sc')
     def teardown(self):
         ip.go_to_index()
 # 检查底部客户分析链接
@@ -128,7 +130,7 @@ class CheckLink20:
         # 实际输入
         # 预期输出
         excepted = ip.check_bottom_customer_analysis()
-        CHECK_POINT('检查首页底部客户分析链接能否打开', excepted == '剑鱼大会员')
+        CHECK_POINT('检查首页底部客户分析链接能否打开', excepted == 'https://www.jianyu360.cn/big/page/cg')
     def teardown(self):
         ip.go_to_index()
 # 检查底部了解剑鱼标讯链接
@@ -172,23 +174,4 @@ class CheckLink24:
         CHECK_POINT('检查首页底部广告服务链接能否打开', excepted == '广告服务')
     def teardown(self):
         ip.go_to_index()
-# 检查左侧广告位链接
-class CheckLink25:
-    name = '首页左侧广告位链接检查--index25'
-    def teststeps(self):
-        # 实际输入
-        # 预期输出
-        excepted = ip.check_ad_left()
-        CHECK_POINT('检查首页左侧广告位链接能否打开', excepted == '上传文件')
-    def teardown(self):
-        ip.go_to_index()
-# 检查右侧广告位链接
-class CheckLink26:
-    name = '首页右侧广告位链接检查--index26'
-    def teststeps(self):
-        # 实际输入
-        # 预期输出
-        excepted = ip.check_ad_right()
-        CHECK_POINT('检查首页右侧广告位链接能否打开', excepted == '免费版订阅')
-    def teardown(self):
-        ip.go_to_index()
+

+ 2 - 0
cases/普通会员登录/首页/首页按地区,信息类型,热门招标模块检查.py → cases/2普通会员登录/首页/首页按地区,信息类型,热门招标模块检查.py

@@ -1,6 +1,8 @@
 from hytest import *
 from pageobject.index_page import ip
 force_tags=['首页按地区,信息类型,热门招标模块功能检查']
+def suite_setup():
+    ip.close_ad()
 class CheckLink27:
     name = '首页按主要地区搜索:北京,上海,天津,重庆,香港,澳门,台湾链接检查--index27'
     def teststeps(self):

+ 0 - 0
cases/普通会员登录/首页/首页最新公告功能检查.py → cases/2普通会员登录/首页/首页最新公告功能检查.py


+ 0 - 0
cases/普通会员登录/首页/首页最新资讯功能检查.py → cases/2普通会员登录/首页/首页最新资讯功能检查.py


+ 7 - 7
cases/普通会员登录/首页/首页金刚区功能检查.py → cases/2普通会员登录/首页/首页金刚区功能检查.py

@@ -8,7 +8,7 @@ class CheckLink01:
         #实际输入
         #预期输出
         excepted=ip.check_bigmember()
-        CHECK_POINT('检查首页金刚区大会员链接能否打开',excepted=='剑鱼大会员')
+        CHECK_POINT('检查首页金刚区大会员链接能否打开',excepted=='https://www.jianyu360.cn/big/page/index')
     def teardown(self):
         ip.go_to_index()
 #检查超级订阅链接
@@ -18,7 +18,7 @@ class CheckLink02:
         #实际输入
         #预期输出
         excepted=ip.check_subscribe()
-        CHECK_POINT('检查首页金刚区超级订阅链接能否打开',excepted=='免费版订阅')
+        CHECK_POINT('检查首页金刚区超级订阅链接能否打开',excepted=='https://www.jianyu360.cn/front/subscribe.html')
     def teardown(self):
         ip.go_to_index()
 #检查结构化数据链接
@@ -28,7 +28,7 @@ class CheckLink03:
         #实际输入
         #预期输出
         excepted=ip.check_structured()
-        CHECK_POINT('检查首页金刚区结构化数据链接能否打开',excepted=='抢先体验结构化招标数据')
+        CHECK_POINT('检查首页金刚区结构化数据链接能否打开',excepted=='https://www.jianyu360.cn/front/structed/pc_index.html')
     def teardown(self):
         ip.go_to_index()
 #检查中标必听课链接
@@ -41,13 +41,13 @@ class CheckLink04:
         CHECK_POINT('检查首页金刚区中标必听课链接能否打开',excepted=='中标必听课')
     def teardown(self):
         ip.go_to_index()
-#检查剑鱼文库链接
+#检查数据流量包链接
 class CheckLink05:
-    name='首页金刚区剑鱼文库链接检查--index05'
+    name='首页金刚区数据流量包链接检查--index05'
     def teststeps(self):
         #实际输入
         #预期输出
-        excepted=ip.check_library()
-        CHECK_POINT('检查首页金刚区剑鱼文库链接能否打开',excepted=='剑鱼文库,最实用的招投标资料库')
+        excepted=ip.check_datapack()
+        CHECK_POINT('检查首页金刚区数据流量包链接能否打开',excepted=='https://www.jianyu360.cn/front/dataPack/createOrder?p=pcindex')
     def teardown(self):
         ip.go_to_index()

+ 0 - 0
cases/大会员登录/__pycache__/__st__.cpython-37.pyc → cases/3大会员登录/__pycache__/__st__.cpython-37.pyc


+ 0 - 0
cases/大会员登录/__pycache__/大会员使用页面.cpython-37.pyc → cases/3大会员登录/__pycache__/大会员使用页面.cpython-37.pyc


+ 0 - 0
cases/大会员登录/__st__.py → cases/3大会员登录/__st__.py


+ 0 - 0
cases/大会员登录/大会员使用页面.py → cases/3大会员登录/大会员使用页面.py


+ 0 - 0
cases/大会员登录/大会员工作台/__pycache__/大会员工作台--常用功能.cpython-37.pyc → cases/3大会员登录/大会员工作台/__pycache__/大会员工作台--常用功能.cpython-37.pyc


+ 0 - 0
cases/大会员登录/大会员工作台/中标企业预测/__pycache__/__st__.cpython-37.pyc → cases/3大会员登录/大会员工作台/中标企业预测/__pycache__/__st__.cpython-37.pyc


+ 0 - 0
cases/大会员登录/大会员工作台/中标企业预测/__pycache__/中标企业预测页面.cpython-37.pyc → cases/3大会员登录/大会员工作台/中标企业预测/__pycache__/中标企业预测页面.cpython-37.pyc


+ 0 - 0
cases/大会员登录/大会员工作台/中标企业预测/__st__.py → cases/3大会员登录/大会员工作台/中标企业预测/__st__.py


+ 0 - 0
cases/大会员登录/大会员工作台/中标企业预测/中标企业预测页面.py → cases/3大会员登录/大会员工作台/中标企业预测/中标企业预测页面.py


+ 0 - 0
cases/大会员登录/大会员工作台/企业情报监控/__pycache__/__st__.cpython-37.pyc → cases/3大会员登录/大会员工作台/企业情报监控/__pycache__/__st__.cpython-37.pyc


+ 0 - 0
cases/大会员登录/大会员工作台/企业情报监控/__pycache__/企业情报监控页面.cpython-37.pyc → cases/3大会员登录/大会员工作台/企业情报监控/__pycache__/企业情报监控页面.cpython-37.pyc


+ 0 - 0
cases/大会员登录/大会员工作台/企业情报监控/__st__.py → cases/3大会员登录/大会员工作台/企业情报监控/__st__.py


+ 0 - 0
cases/大会员登录/大会员工作台/企业情报监控/企业情报监控页面.py → cases/3大会员登录/大会员工作台/企业情报监控/企业情报监控页面.py


+ 0 - 0
cases/大会员登录/大会员工作台/大会员工作台--常用功能.py → cases/3大会员登录/大会员工作台/大会员工作台--常用功能.py


BIN
cases/4超级订阅用户登录/__pycache__/__st__.cpython-37.pyc


+ 11 - 0
cases/4超级订阅用户登录/__st__.py

@@ -0,0 +1,11 @@
+from pageobject.index_page import ip
+from pageobject.login_page import lp
+from hytest import *
+import time
+force_tags = ['超级订阅用户登录']
+def suite_setup():
+    INFO('登录网站')
+    lp.super_login()
+    time.sleep(3)
+    ip.close_news_frame()
+    time.sleep(5)

BIN
cases/4超级订阅用户登录/搜索/__pycache__/__st__.cpython-37.pyc


BIN
cases/4超级订阅用户登录/搜索/__pycache__/用户输入时间搜索.cpython-37.pyc


+ 8 - 0
cases/4超级订阅用户登录/搜索/__st__.py

@@ -0,0 +1,8 @@
+from pageobject.index_page import ip
+from pageobject.search_page import sp
+def suite_setup():
+    # 点击招标搜索
+    sp.go_to_search()
+    sp.send_searchinput_key('税务局')
+def suite_teardown():
+    ip.go_to_index()

+ 48 - 0
cases/4超级订阅用户登录/搜索/用户输入时间搜索.py

@@ -0,0 +1,48 @@
+from datetime import time
+import time
+from hytest import *
+from pageobject.search_page import sp
+class ConditionalSearch06:
+    ddt_cases=[
+        {
+            'name':'自定义时间搜索---test3022',
+            'para':{
+                'starttime': '2021-02-03',
+                'endtime': '2021-02-04',
+            }
+        },
+        {
+            'name': '自定义时间搜索---test3023',
+            'para': {
+                'starttime': '2021-02-03',
+                'endtime': None,
+            }
+        },
+        {
+            'name': '自定义时间搜索---test3024',
+            'para': {
+                'starttime': None,
+                'endtime': '2021-02-04',
+            }
+        }
+    ]
+    def teststeps(self):
+        #实际输入
+        actural=self.para
+        starttime=actural['starttime']
+        endtime=actural['endtime']
+        # 预期输出
+        sp.cancel_main_body()  # 取消正文勾选
+        ftstarttime,ftendtime,date=sp.dateinteval_Search(starttime,endtime)
+        if endtime is None:
+            if '分钟' in date:
+                CHECK_POINT(f'验证搜索结果的日期在搜索日期内,搜索日期:大于{starttime}', True)
+        elif starttime is None:
+            finalldate = time.mktime(time.strptime(date, '%Y-%m-%d'))  # 预期输出时间
+            CHECK_POINT(f'验证搜索结果的日期在搜索日期内,搜索日期:小于{endtime}', ftendtime >= finalldate)
+        else:
+            finalldate = time.mktime(time.strptime(date, '%Y-%m-%d'))  # 预期输出时间
+            CHECK_POINT(f'验证搜索结果的日期在搜索日期内,搜索日期:{starttime}--{endtime}',ftstarttime <= finalldate <= ftendtime)
+    def teardown(self):
+            sp.click_typeAll()
+            sp.clear_search_date()

Some files were not shown because too many files changed in this diff