作者 bianxinhua

add README

正在显示 98 个修改的文件 包含 4638 行增加0 行删除

要显示太多修改。

为保证性能只显示 98 of 98+ 个文件。

  1 +wpftwphone=19990000008
  2 +pfphone=19990000011
  3 +pfphone1=19990000015
  4 +ckotherdeptphone=19990000012
  5 +pfphone2=18100000005
  6 +adminphone=19990000000
  7 +password=123456
  8 +base_url=https://ability-test.fjmaimaimai.com
  9 +base_public_url = http://public-interface-test.fjmaimaimai.com/
  10 +base_business_url = https://suplus-business-admin-gateway-test.fjmaimaimai.com/
  11 +base_worth_url = https://suplus-worth-web-gateway-test.fjmaimaimai.com/
  1 +.env_pro
  2 +reports/*
  3 +__pycache__/*
  4 +*.pyc
  5 +.python-version
  6 +logs/*
  7 +harfile/*
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<module type="PYTHON_MODULE" version="4">
  3 + <component name="NewModuleRootManager">
  4 + <content url="file://$MODULE_DIR$">
  5 + <excludeFolder url="file://$MODULE_DIR$/venv" />
  6 + </content>
  7 + <orderEntry type="jdk" jdkName="Python 3.7 (ability_api)" jdkType="Python SDK" />
  8 + <orderEntry type="sourceFolder" forTests="false" />
  9 + </component>
  10 + <component name="PackageRequirementsSettings">
  11 + <option name="requirementsPath" value="" />
  12 + </component>
  13 + <component name="TestRunnerService">
  14 + <option name="PROJECT_TEST_RUNNER" value="Unittests" />
  15 + </component>
  16 +</module>
  1 +<component name="ProjectCodeStyleConfiguration">
  2 + <code_scheme name="Project" version="173">
  3 + <XML>
  4 + <option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
  5 + </XML>
  6 + </code_scheme>
  7 +</component>
  1 +<component name="ProjectCodeStyleConfiguration">
  2 + <state>
  3 + <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default (1)" />
  4 + </state>
  5 +</component>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="Encoding" addBOMForNewFiles="with NO BOM" />
  4 +</project>
  1 +<component name="InspectionProjectProfileManager">
  2 + <settings>
  3 + <option name="USE_PROJECT_PROFILE" value="false" />
  4 + <version value="1.0" />
  5 + </settings>
  6 +</component>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (ability_api)" project-jdk-type="Python SDK" />
  4 + <component name="PyCharmProfessionalAdvertiser">
  5 + <option name="shown" value="true" />
  6 + </component>
  7 +</project>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ProjectModuleManager">
  4 + <modules>
  5 + <module fileurl="file://$PROJECT_DIR$/.idea/ability_api.iml" filepath="$PROJECT_DIR$/.idea/ability_api.iml" />
  6 + </modules>
  7 + </component>
  8 +</project>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="VcsDirectoryMappings">
  4 + <mapping directory="$PROJECT_DIR$" vcs="Git" />
  5 + </component>
  6 +</project>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ChangeListManager">
  4 + <list default="true" id="b869bb6c-d2b2-46af-b73c-cd3237c48651" name="Default Changelist" comment="update 2020005122330">
  5 + <change afterPath="$PROJECT_DIR$/helpfunc/business_admin_func.py" afterDir="false" />
  6 + <change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" />
  7 + <change beforePath="$PROJECT_DIR$/.idea/ability_api.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/ability_api.iml" afterDir="false" />
  8 + <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
  9 + <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
  10 + <change beforePath="$PROJECT_DIR$/api/app_api/firstpage_api/addquestion_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/app_api/firstpage_api/addquestion_api.yml" afterDir="false" />
  11 + <change beforePath="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_0_1_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_0_1_api.yml" afterDir="false" />
  12 + <change beforePath="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_1_0_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_1_0_api.yml" afterDir="false" />
  13 + <change beforePath="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_1_1_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_1_1_api.yml" afterDir="false" />
  14 + <change beforePath="$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_0_0_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_0_0_api.yml" afterDir="false" />
  15 + <change beforePath="$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_1_0_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_1_0_api.yml" afterDir="false" />
  16 + <change beforePath="$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_1_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_1_api.yml" afterDir="false" />
  17 + <change beforePath="$PROJECT_DIR$/api/task_api/task/rewards/submitCompete_1_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/task_api/task/rewards/submitCompete_1_api.yml" afterDir="false" />
  18 + <change beforePath="$PROJECT_DIR$/config/accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/accessToken.csv" afterDir="false" />
  19 + <change beforePath="$PROJECT_DIR$/config/authCode.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/authCode.csv" afterDir="false" />
  20 + <change beforePath="$PROJECT_DIR$/config/credentials.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/credentials.csv" afterDir="false" />
  21 + <change beforePath="$PROJECT_DIR$/config/serialNo.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/serialNo.csv" afterDir="false" />
  22 + <change beforePath="$PROJECT_DIR$/debugtalk.py" beforeDir="false" afterPath="$PROJECT_DIR$/debugtalk.py" afterDir="false" />
  23 + <change beforePath="$PROJECT_DIR$/helpfunc/login_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/login_func.py" afterDir="false" />
  24 + <change beforePath="$PROJECT_DIR$/testcases/permission/ques_pf_permission/QX001_pf_permission.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/permission/ques_pf_permission/QX001_pf_permission.yml" afterDir="false" />
  25 + <change beforePath="$PROJECT_DIR$/testcases/task/jxz/jxz_gb.yml" beforeDir="false" />
  26 + <change beforePath="$PROJECT_DIR$/testcases/task/jxz/jxz_wc.yml" beforeDir="false" />
  27 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW001.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW001.yml" afterDir="false" />
  28 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW002.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW002.yml" afterDir="false" />
  29 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW003.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW003.yml" afterDir="false" />
  30 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW004.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW004.yml" afterDir="false" />
  31 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW005.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW005.yml" afterDir="false" />
  32 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW001.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW001.yml" afterDir="false" />
  33 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW002.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW002.yml" afterDir="false" />
  34 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW003.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW003.yml" afterDir="false" />
  35 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW004.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW004.yml" afterDir="false" />
  36 + <change beforePath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW005.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW005.yml" afterDir="false" />
  37 + </list>
  38 + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
  39 + <option name="SHOW_DIALOG" value="false" />
  40 + <option name="HIGHLIGHT_CONFLICTS" value="true" />
  41 + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
  42 + <option name="LAST_RESOLUTION" value="IGNORE" />
  43 + </component>
  44 + <component name="CoverageDataManager">
  45 + <SUITE FILE_PATH="coverage/ability_api$login_func.coverage" NAME="login_func Coverage Results" MODIFIED="1593587330616" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" />
  46 + <SUITE FILE_PATH="coverage/ability_api$ucenter_loginAggregate_func.coverage" NAME="ucenter_loginAggregate_func Coverage Results" MODIFIED="1586524233572" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" />
  47 + <SUITE FILE_PATH="coverage/ability_api$debugtalk.coverage" NAME="debugtalk Coverage Results" MODIFIED="1593587381209" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
  48 + <SUITE FILE_PATH="coverage/ability_api$header_func.coverage" NAME="header_func Coverage Results" MODIFIED="1586653408797" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" />
  49 + <SUITE FILE_PATH="coverage/ability_api$run.coverage" NAME="run Coverage Results" MODIFIED="1587223202115" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
  50 + <SUITE FILE_PATH="coverage/ability_api$test.coverage" NAME="test Coverage Results" MODIFIED="1586509371608" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="F:/untitled1" />
  51 + </component>
  52 + <component name="FavoritesManager">
  53 + <favorites_list name="ability_api" />
  54 + </component>
  55 + <component name="FileEditorManager">
  56 + <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
  57 + <file pinned="false" current-in-tab="false">
  58 + <entry file="file://$PROJECT_DIR$/api/task_api/task/taskfinishTask_api.yml">
  59 + <provider selected="true" editor-type-id="text-editor" />
  60 + </entry>
  61 + </file>
  62 + <file pinned="false" current-in-tab="false">
  63 + <entry file="file://$PROJECT_DIR$/api/task_api/task/taskDetails_api.yml">
  64 + <provider selected="true" editor-type-id="text-editor" />
  65 + </entry>
  66 + </file>
  67 + <file pinned="false" current-in-tab="false">
  68 + <entry file="file://$PROJECT_DIR$/.env">
  69 + <provider selected="true" editor-type-id="text-editor">
  70 + <state relative-caret-position="260">
  71 + <caret line="10" column="12" selection-start-line="10" selection-start-column="12" selection-end-line="10" selection-end-column="12" />
  72 + </state>
  73 + </provider>
  74 + </entry>
  75 + </file>
  76 + <file pinned="false" current-in-tab="true">
  77 + <entry file="file://$PROJECT_DIR$/testcases/permission/ques_pf_permission/QX001_pf_permission.yml">
  78 + <provider selected="true" editor-type-id="text-editor">
  79 + <state relative-caret-position="208">
  80 + <caret line="14" column="27" selection-start-line="14" selection-start-column="27" selection-end-line="14" selection-end-column="27" />
  81 + </state>
  82 + </provider>
  83 + </entry>
  84 + </file>
  85 + <file pinned="false" current-in-tab="false">
  86 + <entry file="file://$PROJECT_DIR$/helpfunc/login_func.py">
  87 + <provider selected="true" editor-type-id="text-editor">
  88 + <state relative-caret-position="338">
  89 + <caret line="14" selection-start-line="14" selection-end-line="14" />
  90 + <folding>
  91 + <element signature="e#107#119#0" expanded="true" />
  92 + </folding>
  93 + </state>
  94 + </provider>
  95 + </entry>
  96 + </file>
  97 + <file pinned="false" current-in-tab="false">
  98 + <entry file="file://$PROJECT_DIR$/api/app_api/question_api/audits_ireview_api.yml">
  99 + <provider selected="true" editor-type-id="text-editor" />
  100 + </entry>
  101 + </file>
  102 + <file pinned="false" current-in-tab="false">
  103 + <entry file="file://$PROJECT_DIR$/api/app_api/question_api/applyForQuestions_api.yml">
  104 + <provider selected="true" editor-type-id="text-editor" />
  105 + </entry>
  106 + </file>
  107 + <file pinned="false" current-in-tab="false">
  108 + <entry file="file://$PROJECT_DIR$/testcases/question/add_question.yml">
  109 + <provider selected="true" editor-type-id="text-editor" />
  110 + </entry>
  111 + </file>
  112 + <file pinned="false" current-in-tab="false">
  113 + <entry file="file://$PROJECT_DIR$/testsuites/ability_suites.yml">
  114 + <provider selected="true" editor-type-id="text-editor" />
  115 + </entry>
  116 + </file>
  117 + <file pinned="false" current-in-tab="false">
  118 + <entry file="file://$PROJECT_DIR$/api/app_api/firstpage_api/addquestion_api.yml">
  119 + <provider selected="true" editor-type-id="text-editor">
  120 + <state relative-caret-position="208">
  121 + <caret line="8" column="32" selection-start-line="8" selection-start-column="32" selection-end-line="8" selection-end-column="32" />
  122 + </state>
  123 + </provider>
  124 + </entry>
  125 + </file>
  126 + </leaf>
  127 + </component>
  128 + <component name="FileTemplateManagerImpl">
  129 + <option name="RECENT_TEMPLATES">
  130 + <list>
  131 + <option value="Python Script" />
  132 + </list>
  133 + </option>
  134 + </component>
  135 + <component name="FindInProjectRecents">
  136 + <findStrings>
  137 + <find>accessToken</find>
  138 + </findStrings>
  139 + </component>
  140 + <component name="Git.Settings">
  141 + <option name="PREVIOUS_COMMIT_AUTHORS">
  142 + <list>
  143 + <option value="bianxinhua" />
  144 + </list>
  145 + </option>
  146 + <option name="ROOT_SYNC" value="DONT_SYNC" />
  147 + <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  148 + <option name="RECENT_BRANCH_BY_REPOSITORY">
  149 + <map>
  150 + <entry key="$PROJECT_DIR$" value="master" />
  151 + </map>
  152 + </option>
  153 + <option name="AUTO_COMMIT_ON_CHERRY_PICK" value="true" />
  154 + </component>
  155 + <component name="IdeDocumentHistory">
  156 + <option name="CHANGED_PATHS">
  157 + <list>
  158 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_0_1_api.yml" />
  159 + <option value="$PROJECT_DIR$/api/task_api/task/taskfinishTask_api.yml" />
  160 + <option value="$PROJECT_DIR$/testcases/task/jxz/jxz.yml" />
  161 + <option value="$PROJECT_DIR$/api/task_api/task/iPublishedTasks_3_api.yml" />
  162 + <option value="$PROJECT_DIR$/api/task_api/task/employee/allEmployees_api.yml" />
  163 + <option value="$PROJECT_DIR$/api/task_api/task/rewards/currentTasks_1_api.yml" />
  164 + <option value="$PROJECT_DIR$/testcases/task/jxz/jxz_wc.yml" />
  165 + <option value="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_0_api.yml" />
  166 + <option value="$PROJECT_DIR$/testcases/task/save_taskPublish_0_0_api.yml" />
  167 + <option value="$PROJECT_DIR$/testcases/task/save_taskPublish_0_1_api.yml" />
  168 + <option value="$PROJECT_DIR$/api/task_api/task/jb_fb_task/update_taskPublish_api.yml" />
  169 + <option value="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_1_api.yml" />
  170 + <option value="$PROJECT_DIR$/api/app_api/login_api/auth/ucenter_login_api.yml" />
  171 + <option value="$PROJECT_DIR$/api/app_api/login_api/auth/loginModule_api.yml" />
  172 + <option value="$PROJECT_DIR$/api/app_api/login_api/auth/authorize_api.yml" />
  173 + <option value="$PROJECT_DIR$/api/task_api/task/taskcheckAccept_api.yml" />
  174 + <option value="$PROJECT_DIR$/testcases/login_testcases.yml" />
  175 + <option value="$PROJECT_DIR$/helpfunc/usiness_admin_func.py" />
  176 + <option value="$PROJECT_DIR$/api/business_admin_api/login_api/auth/pwdLogin_api.yml" />
  177 + <option value="$PROJECT_DIR$/api/business_admin_api/login_api/auth/userCompamies_api.yml" />
  178 + <option value="$PROJECT_DIR$/api/business_admin_api/login_api/auth/anonymousLogin_api.yml" />
  179 + <option value="$PROJECT_DIR$/.env" />
  180 + <option value="$PROJECT_DIR$/helpfunc/business_admin_func.py" />
  181 + <option value="$PROJECT_DIR$/testcases/business_admin/login_testcases.yml" />
  182 + <option value="$PROJECT_DIR$/api/business_admin_api/login_api/auth/getSingleLoginMenus_api.yml" />
  183 + <option value="$PROJECT_DIR$/api/business_admin_api/login_api/auth/login_api.yml" />
  184 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW001.yml" />
  185 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW002.yml" />
  186 + <option value="$PROJECT_DIR$/testcases/task/jxz/jxz_gb.yml" />
  187 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW004.yml" />
  188 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW005.yml" />
  189 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW001.yml" />
  190 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW002.yml" />
  191 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW004.yml" />
  192 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW005.yml" />
  193 + <option value="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_0_1_api.yml" />
  194 + <option value="$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_0_0_api.yml" />
  195 + <option value="$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_1_0_api.yml" />
  196 + <option value="$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_1_api.yml" />
  197 + <option value="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_1_0_api.yml" />
  198 + <option value="$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_1_1_api.yml" />
  199 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_1_1_api.yml" />
  200 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW003.yml" />
  201 + <option value="$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW003.yml" />
  202 + <option value="$PROJECT_DIR$/api/task_api/task/rewards/submitCompete_1_api.yml" />
  203 + <option value="$PROJECT_DIR$/api/task_api/task/bidTask_api.yml" />
  204 + <option value="$PROJECT_DIR$/testcases/task/jxz/JB/jxz_wc.yml" />
  205 + <option value="$PROJECT_DIR$/api/app_api/firstpage_api/addquestion_api.yml" />
  206 + <option value="$PROJECT_DIR$/debugtalk.py" />
  207 + <option value="$PROJECT_DIR$/testcases/permission/ques_pf_permission/QX001_pf_permission.yml" />
  208 + <option value="$PROJECT_DIR$/helpfunc/login_func.py" />
  209 + </list>
  210 + </option>
  211 + </component>
  212 + <component name="ProjectFrameBounds" extendedState="6">
  213 + <option name="x" value="-116" />
  214 + <option name="y" value="347" />
  215 + <option name="width" value="1382" />
  216 + <option name="height" value="741" />
  217 + </component>
  218 + <component name="ProjectId" id="1RGy0cbJxXUqydJBLy6eKhLCtup" />
  219 + <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
  220 + <component name="ProjectView">
  221 + <navigator proportions="" version="1">
  222 + <foldersAlwaysOnTop value="true" />
  223 + </navigator>
  224 + <panes>
  225 + <pane id="Scope" />
  226 + <pane id="ProjectPane">
  227 + <subPane>
  228 + <expand>
  229 + <path>
  230 + <item name="ability_api" type="b2602c69:ProjectViewProjectNode" />
  231 + <item name="ability_api" type="462c0819:PsiDirectoryNode" />
  232 + </path>
  233 + <path>
  234 + <item name="ability_api" type="b2602c69:ProjectViewProjectNode" />
  235 + <item name="ability_api" type="462c0819:PsiDirectoryNode" />
  236 + <item name="config" type="462c0819:PsiDirectoryNode" />
  237 + </path>
  238 + <path>
  239 + <item name="ability_api" type="b2602c69:ProjectViewProjectNode" />
  240 + <item name="ability_api" type="462c0819:PsiDirectoryNode" />
  241 + <item name="helpfunc" type="462c0819:PsiDirectoryNode" />
  242 + </path>
  243 + </expand>
  244 + <select />
  245 + </subPane>
  246 + </pane>
  247 + </panes>
  248 + </component>
  249 + <component name="PropertiesComponent">
  250 + <property name="WebServerToolWindowFactoryState" value="false" />
  251 + <property name="last_opened_file_path" value="$PROJECT_DIR$/../partner_api" />
  252 + <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
  253 + </component>
  254 + <component name="RecentsManager">
  255 + <key name="CopyFile.RECENT_KEYS">
  256 + <recent name="E:\mmm_auto\ability_api\testcases\task" />
  257 + <recent name="E:\mmm_auto\ability_api\api\task_api\task\rewards" />
  258 + <recent name="E:\mmm_auto\ability_api\api\task_api\task" />
  259 + <recent name="F:\PycharmProjects\ability_api" />
  260 + <recent name="F:\PycharmProjects\ability_api\flask_demo\conf" />
  261 + </key>
  262 + <key name="MoveFile.RECENT_KEYS">
  263 + <recent name="E:\mmm-auto\ability_api\api\login_api\auth" />
  264 + <recent name="F:\PycharmProjects\ability_api\data" />
  265 + <recent name="F:\PycharmProjects\ability_api\common" />
  266 + <recent name="F:\PycharmProjects\ability_api\testcases\firstpage_Statistics\pf_statistics" />
  267 + <recent name="F:\PycharmProjects\ability_api\testcases\firstpage_Statistics\ck_statistic" />
  268 + </key>
  269 + </component>
  270 + <component name="RunDashboard">
  271 + <option name="ruleStates">
  272 + <list>
  273 + <RuleState>
  274 + <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
  275 + </RuleState>
  276 + <RuleState>
  277 + <option name="name" value="StatusDashboardGroupingRule" />
  278 + </RuleState>
  279 + </list>
  280 + </option>
  281 + </component>
  282 + <component name="RunManager" selected="Python.debugtalk">
  283 + <configuration name="debugtalk" type="PythonConfigurationType" factoryName="Python" temporary="true">
  284 + <module name="ability_api" />
  285 + <option name="INTERPRETER_OPTIONS" value="" />
  286 + <option name="PARENT_ENVS" value="true" />
  287 + <envs>
  288 + <env name="PYTHONUNBUFFERED" value="1" />
  289 + </envs>
  290 + <option name="SDK_HOME" value="" />
  291 + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
  292 + <option name="IS_MODULE_SDK" value="true" />
  293 + <option name="ADD_CONTENT_ROOTS" value="true" />
  294 + <option name="ADD_SOURCE_ROOTS" value="true" />
  295 + <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
  296 + <option name="SCRIPT_NAME" value="$PROJECT_DIR$/debugtalk.py" />
  297 + <option name="PARAMETERS" value="" />
  298 + <option name="SHOW_COMMAND_LINE" value="false" />
  299 + <option name="EMULATE_TERMINAL" value="false" />
  300 + <option name="MODULE_MODE" value="false" />
  301 + <option name="REDIRECT_INPUT" value="false" />
  302 + <option name="INPUT_FILE" value="" />
  303 + <method v="2" />
  304 + </configuration>
  305 + <configuration name="header_func" type="PythonConfigurationType" factoryName="Python" temporary="true">
  306 + <module name="ability_api" />
  307 + <option name="INTERPRETER_OPTIONS" value="" />
  308 + <option name="PARENT_ENVS" value="true" />
  309 + <envs>
  310 + <env name="PYTHONUNBUFFERED" value="1" />
  311 + </envs>
  312 + <option name="SDK_HOME" value="" />
  313 + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/helpfunc" />
  314 + <option name="IS_MODULE_SDK" value="true" />
  315 + <option name="ADD_CONTENT_ROOTS" value="true" />
  316 + <option name="ADD_SOURCE_ROOTS" value="true" />
  317 + <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
  318 + <option name="SCRIPT_NAME" value="$PROJECT_DIR$/helpfunc/header_func.py" />
  319 + <option name="PARAMETERS" value="" />
  320 + <option name="SHOW_COMMAND_LINE" value="false" />
  321 + <option name="EMULATE_TERMINAL" value="false" />
  322 + <option name="MODULE_MODE" value="false" />
  323 + <option name="REDIRECT_INPUT" value="false" />
  324 + <option name="INPUT_FILE" value="" />
  325 + <method v="2" />
  326 + </configuration>
  327 + <configuration name="login_func" type="PythonConfigurationType" factoryName="Python" temporary="true">
  328 + <module name="ability_api" />
  329 + <option name="INTERPRETER_OPTIONS" value="" />
  330 + <option name="PARENT_ENVS" value="true" />
  331 + <envs>
  332 + <env name="PYTHONUNBUFFERED" value="1" />
  333 + </envs>
  334 + <option name="SDK_HOME" value="" />
  335 + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/helpfunc" />
  336 + <option name="IS_MODULE_SDK" value="true" />
  337 + <option name="ADD_CONTENT_ROOTS" value="true" />
  338 + <option name="ADD_SOURCE_ROOTS" value="true" />
  339 + <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
  340 + <option name="SCRIPT_NAME" value="$PROJECT_DIR$/helpfunc/login_func.py" />
  341 + <option name="PARAMETERS" value="" />
  342 + <option name="SHOW_COMMAND_LINE" value="false" />
  343 + <option name="EMULATE_TERMINAL" value="false" />
  344 + <option name="MODULE_MODE" value="false" />
  345 + <option name="REDIRECT_INPUT" value="false" />
  346 + <option name="INPUT_FILE" value="" />
  347 + <method v="2" />
  348 + </configuration>
  349 + <configuration name="run" type="PythonConfigurationType" factoryName="Python" temporary="true">
  350 + <module name="ability_api" />
  351 + <option name="INTERPRETER_OPTIONS" value="" />
  352 + <option name="PARENT_ENVS" value="true" />
  353 + <envs>
  354 + <env name="PYTHONUNBUFFERED" value="1" />
  355 + </envs>
  356 + <option name="SDK_HOME" value="" />
  357 + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
  358 + <option name="IS_MODULE_SDK" value="true" />
  359 + <option name="ADD_CONTENT_ROOTS" value="true" />
  360 + <option name="ADD_SOURCE_ROOTS" value="true" />
  361 + <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
  362 + <option name="SCRIPT_NAME" value="$PROJECT_DIR$/run.py" />
  363 + <option name="PARAMETERS" value="" />
  364 + <option name="SHOW_COMMAND_LINE" value="false" />
  365 + <option name="EMULATE_TERMINAL" value="false" />
  366 + <option name="MODULE_MODE" value="false" />
  367 + <option name="REDIRECT_INPUT" value="false" />
  368 + <option name="INPUT_FILE" value="" />
  369 + <method v="2" />
  370 + </configuration>
  371 + <configuration name="ucenter_loginAggregate_func" type="PythonConfigurationType" factoryName="Python" temporary="true">
  372 + <module name="ability_api" />
  373 + <option name="INTERPRETER_OPTIONS" value="" />
  374 + <option name="PARENT_ENVS" value="true" />
  375 + <envs>
  376 + <env name="PYTHONUNBUFFERED" value="1" />
  377 + </envs>
  378 + <option name="SDK_HOME" value="" />
  379 + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/helpfunc" />
  380 + <option name="IS_MODULE_SDK" value="true" />
  381 + <option name="ADD_CONTENT_ROOTS" value="true" />
  382 + <option name="ADD_SOURCE_ROOTS" value="true" />
  383 + <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
  384 + <option name="SCRIPT_NAME" value="$PROJECT_DIR$/helpfunc/ucenter_loginAggregate_func.py" />
  385 + <option name="PARAMETERS" value="" />
  386 + <option name="SHOW_COMMAND_LINE" value="false" />
  387 + <option name="EMULATE_TERMINAL" value="false" />
  388 + <option name="MODULE_MODE" value="false" />
  389 + <option name="REDIRECT_INPUT" value="false" />
  390 + <option name="INPUT_FILE" value="" />
  391 + <method v="2" />
  392 + </configuration>
  393 + <recent_temporary>
  394 + <list>
  395 + <item itemvalue="Python.debugtalk" />
  396 + <item itemvalue="Python.login_func" />
  397 + <item itemvalue="Python.run" />
  398 + <item itemvalue="Python.header_func" />
  399 + <item itemvalue="Python.ucenter_loginAggregate_func" />
  400 + </list>
  401 + </recent_temporary>
  402 + </component>
  403 + <component name="SvnConfiguration">
  404 + <configuration />
  405 + </component>
  406 + <component name="TaskManager">
  407 + <task active="true" id="Default" summary="Default task">
  408 + <changelist id="b869bb6c-d2b2-46af-b73c-cd3237c48651" name="Default Changelist" comment="" />
  409 + <created>1569307505769</created>
  410 + <option name="number" value="Default" />
  411 + <option name="presentableId" value="Default" />
  412 + <updated>1569307505769</updated>
  413 + <workItem from="1586269949515" duration="456000" />
  414 + <workItem from="1586270482632" duration="115000" />
  415 + <workItem from="1586274022683" duration="1213000" />
  416 + <workItem from="1586339192317" duration="2329000" />
  417 + <workItem from="1586397538468" duration="1396000" />
  418 + <workItem from="1586399610082" duration="9198000" />
  419 + <workItem from="1586434007778" duration="9478000" />
  420 + <workItem from="1586482209895" duration="18621000" />
  421 + <workItem from="1586533596222" duration="3044000" />
  422 + <workItem from="1586586372043" duration="6473000" />
  423 + <workItem from="1586607693137" duration="8393000" />
  424 + <workItem from="1586621783755" duration="150000" />
  425 + <workItem from="1586652061321" duration="16966000" />
  426 + <workItem from="1586703950218" duration="2012000" />
  427 + <workItem from="1586757565849" duration="7087000" />
  428 + <workItem from="1586856283678" duration="1394000" />
  429 + <workItem from="1587004637787" duration="5367000" />
  430 + <workItem from="1587049863599" duration="2068000" />
  431 + <workItem from="1587089619197" duration="2123000" />
  432 + <workItem from="1587137033226" duration="1653000" />
  433 + <workItem from="1587223008662" duration="779000" />
  434 + <workItem from="1587285669974" duration="2012000" />
  435 + <workItem from="1587438578488" duration="108000" />
  436 + <workItem from="1587458223158" duration="87000" />
  437 + <workItem from="1587712363785" duration="709000" />
  438 + <workItem from="1588087396580" duration="1561000" />
  439 + <workItem from="1588125218282" duration="5677000" />
  440 + <workItem from="1588144827654" duration="3759000" />
  441 + <workItem from="1588213744280" duration="9635000" />
  442 + <workItem from="1588406599043" duration="4315000" />
  443 + <workItem from="1588429267369" duration="5369000" />
  444 + <workItem from="1588470105124" duration="6774000" />
  445 + <workItem from="1588499412883" duration="536000" />
  446 + <workItem from="1588519247249" duration="2685000" />
  447 + <workItem from="1588560502895" duration="3252000" />
  448 + <workItem from="1588581255717" duration="2296000" />
  449 + <workItem from="1588604176092" duration="2465000" />
  450 + <workItem from="1588664032043" duration="10333000" />
  451 + <workItem from="1588690656279" duration="3715000" />
  452 + <workItem from="1588729293089" duration="6481000" />
  453 + <workItem from="1588862254039" duration="598000" />
  454 + <workItem from="1588906928891" duration="1058000" />
  455 + <workItem from="1588922274222" duration="5878000" />
  456 + <workItem from="1588950434532" duration="4224000" />
  457 + <workItem from="1588992968044" duration="3725000" />
  458 + <workItem from="1589009471399" duration="10312000" />
  459 + <workItem from="1589036291053" duration="3070000" />
  460 + <workItem from="1589164775603" duration="4445000" />
  461 + <workItem from="1589296410027" duration="1621000" />
  462 + <workItem from="1589961212639" duration="622000" />
  463 + <workItem from="1590030213184" duration="7712000" />
  464 + <workItem from="1590118485560" duration="4662000" />
  465 + <workItem from="1590138145874" duration="878000" />
  466 + <workItem from="1590591405299" duration="861000" />
  467 + <workItem from="1590649814257" duration="813000" />
  468 + <workItem from="1590655556816" duration="7308000" />
  469 + <workItem from="1590716819403" duration="5697000" />
  470 + <workItem from="1590808085298" duration="1304000" />
  471 + <workItem from="1590994928440" duration="8372000" />
  472 + <workItem from="1591066699481" duration="3976000" />
  473 + <workItem from="1591113968238" duration="130000" />
  474 + <workItem from="1591241808944" duration="664000" />
  475 + <workItem from="1591497029453" duration="6310000" />
  476 + <workItem from="1591670960231" duration="1836000" />
  477 + <workItem from="1591774987449" duration="24000" />
  478 + <workItem from="1591861166508" duration="597000" />
  479 + <workItem from="1591952217403" duration="613000" />
  480 + <workItem from="1591956128038" duration="90000" />
  481 + <workItem from="1591973365840" duration="76000" />
  482 + <workItem from="1593312208996" duration="599000" />
  483 + <workItem from="1593421247784" duration="1460000" />
  484 + <workItem from="1593488079318" duration="1118000" />
  485 + <workItem from="1593505772287" duration="299000" />
  486 + <workItem from="1593508166724" duration="269000" />
  487 + <workItem from="1593587284374" duration="270000" />
  488 + <workItem from="1593600269425" duration="901000" />
  489 + <workItem from="1596008523285" duration="2504000" />
  490 + <workItem from="1596076368922" duration="1666000" />
  491 + <workItem from="1596185760744" duration="1134000" />
  492 + <workItem from="1596641147826" duration="299000" />
  493 + <workItem from="1596900739583" duration="259000" />
  494 + <workItem from="1596943209752" duration="2506000" />
  495 + <workItem from="1597039468185" duration="78000" />
  496 + <workItem from="1597041754821" duration="1176000" />
  497 + <workItem from="1597051169362" duration="1248000" />
  498 + <workItem from="1597120232086" duration="3312000" />
  499 + <workItem from="1597195556602" duration="605000" />
  500 + </task>
  501 + <task id="LOCAL-00001" summary="优化测试用例">
  502 + <created>1571644787323</created>
  503 + <option name="number" value="00001" />
  504 + <option name="presentableId" value="LOCAL-00001" />
  505 + <option name="project" value="LOCAL" />
  506 + <updated>1571644787323</updated>
  507 + </task>
  508 + <task id="LOCAL-00002" summary="更新评分权限、解决方案权限">
  509 + <created>1571652504595</created>
  510 + <option name="number" value="00002" />
  511 + <option name="presentableId" value="LOCAL-00002" />
  512 + <option name="project" value="LOCAL" />
  513 + <updated>1571652504595</updated>
  514 + </task>
  515 + <task id="LOCAL-00003" summary="增加后台管理系统解决问题用例">
  516 + <created>1571733685078</created>
  517 + <option name="number" value="00003" />
  518 + <option name="presentableId" value="LOCAL-00003" />
  519 + <option name="project" value="LOCAL" />
  520 + <updated>1571733685078</updated>
  521 + </task>
  522 + <task id="LOCAL-00004" summary="增加清理数据库方法">
  523 + <created>1571735711678</created>
  524 + <option name="number" value="00004" />
  525 + <option name="presentableId" value="LOCAL-00004" />
  526 + <option name="project" value="LOCAL" />
  527 + <updated>1571735711678</updated>
  528 + </task>
  529 + <task id="LOCAL-00005" summary="增加删除用户信息表和星数变动表的相关数据">
  530 + <created>1571795831220</created>
  531 + <option name="number" value="00005" />
  532 + <option name="presentableId" value="LOCAL-00005" />
  533 + <option name="project" value="LOCAL" />
  534 + <updated>1571795831220</updated>
  535 + </task>
  536 + <task id="LOCAL-00006" summary="修正solution单词错误">
  537 + <created>1571822900342</created>
  538 + <option name="number" value="00006" />
  539 + <option name="presentableId" value="LOCAL-00006" />
  540 + <option name="project" value="LOCAL" />
  541 + <updated>1571822900342</updated>
  542 + </task>
  543 + <task id="LOCAL-00007" summary="修改权限校验用例">
  544 + <created>1571823875440</created>
  545 + <option name="number" value="00007" />
  546 + <option name="presentableId" value="LOCAL-00007" />
  547 + <option name="project" value="LOCAL" />
  548 + <updated>1571823875440</updated>
  549 + </task>
  550 + <task id="LOCAL-00008" summary="增加备选方案评分权限校验&#10;增加解决方案评分权限校验">
  551 + <created>1571887882531</created>
  552 + <option name="number" value="00008" />
  553 + <option name="presentableId" value="LOCAL-00008" />
  554 + <option name="project" value="LOCAL" />
  555 + <updated>1571887882531</updated>
  556 + </task>
  557 + <task id="LOCAL-00009" summary="修改测试策略:改为每次执行用例集前,初始化数据库">
  558 + <created>1571898282448</created>
  559 + <option name="number" value="00009" />
  560 + <option name="presentableId" value="LOCAL-00009" />
  561 + <option name="project" value="LOCAL" />
  562 + <updated>1571898282448</updated>
  563 + </task>
  564 + <task id="LOCAL-00010" summary="增加首页“已解决”“未解决”测试用例,todo">
  565 + <created>1571909069550</created>
  566 + <option name="number" value="00010" />
  567 + <option name="presentableId" value="LOCAL-00010" />
  568 + <option name="project" value="LOCAL" />
  569 + <updated>1571909069550</updated>
  570 + </task>
  571 + <task id="LOCAL-00011" summary="查看权限人员:已解决、未解决、解决中、总提问数量校验">
  572 + <created>1571968124444</created>
  573 + <option name="number" value="00011" />
  574 + <option name="presentableId" value="LOCAL-00011" />
  575 + <option name="project" value="LOCAL" />
  576 + <updated>1571968124444</updated>
  577 + </task>
  578 + <task id="LOCAL-00012" summary="评分权限人员:已解决、未解决、解决中、总提问数量校验">
  579 + <created>1571972410540</created>
  580 + <option name="number" value="00012" />
  581 + <option name="presentableId" value="LOCAL-00012" />
  582 + <option name="project" value="LOCAL" />
  583 + <updated>1571972410540</updated>
  584 + </task>
  585 + <task id="LOCAL-00013" summary="增加首页:已解决、解决中、未解决列表翻页校验">
  586 + <created>1571988166842</created>
  587 + <option name="number" value="00013" />
  588 + <option name="presentableId" value="LOCAL-00013" />
  589 + <option name="project" value="LOCAL" />
  590 + <updated>1571988166842</updated>
  591 + </task>
  592 + <task id="LOCAL-00014" summary="修正文件名错误问题">
  593 + <created>1573027546501</created>
  594 + <option name="number" value="00014" />
  595 + <option name="presentableId" value="LOCAL-00014" />
  596 + <option name="project" value="LOCAL" />
  597 + <updated>1573027546501</updated>
  598 + </task>
  599 + <task id="LOCAL-00015" summary="新增测试用例excel">
  600 + <created>1573030348571</created>
  601 + <option name="number" value="00015" />
  602 + <option name="presentableId" value="LOCAL-00015" />
  603 + <option name="project" value="LOCAL" />
  604 + <updated>1573030348571</updated>
  605 + </task>
  606 + <task id="LOCAL-00016" summary="增加测试用例编号">
  607 + <created>1573031162159</created>
  608 + <option name="number" value="00016" />
  609 + <option name="presentableId" value="LOCAL-00016" />
  610 + <option name="project" value="LOCAL" />
  611 + <updated>1573031162159</updated>
  612 + </task>
  613 + <task id="LOCAL-00017" summary="增加测试用例编号">
  614 + <created>1573032349822</created>
  615 + <option name="number" value="00017" />
  616 + <option name="presentableId" value="LOCAL-00017" />
  617 + <option name="project" value="LOCAL" />
  618 + <updated>1573032349822</updated>
  619 + </task>
  620 + <task id="LOCAL-00018" summary="fix">
  621 + <created>1573631165257</created>
  622 + <option name="number" value="00018" />
  623 + <option name="presentableId" value="LOCAL-00018" />
  624 + <option name="project" value="LOCAL" />
  625 + <updated>1573631165257</updated>
  626 + </task>
  627 + <task id="LOCAL-00019" summary="修改debugtalk,将函数分类写在对应的wrapper文件夹中">
  628 + <created>1574739413299</created>
  629 + <option name="number" value="00019" />
  630 + <option name="presentableId" value="LOCAL-00019" />
  631 + <option name="project" value="LOCAL" />
  632 + <updated>1574739413299</updated>
  633 + </task>
  634 + <task id="LOCAL-00020" summary="优化测试用例">
  635 + <created>1574739665177</created>
  636 + <option name="number" value="00020" />
  637 + <option name="presentableId" value="LOCAL-00020" />
  638 + <option name="project" value="LOCAL" />
  639 + <updated>1574739665177</updated>
  640 + </task>
  641 + <task id="LOCAL-00021" summary="修改time_wrap">
  642 + <created>1574739895653</created>
  643 + <option name="number" value="00021" />
  644 + <option name="presentableId" value="LOCAL-00021" />
  645 + <option name="project" value="LOCAL" />
  646 + <updated>1574739895653</updated>
  647 + </task>
  648 + <task id="LOCAL-00022" summary="test">
  649 + <created>1575021464060</created>
  650 + <option name="number" value="00022" />
  651 + <option name="presentableId" value="LOCAL-00022" />
  652 + <option name="project" value="LOCAL" />
  653 + <updated>1575021464061</updated>
  654 + </task>
  655 + <task id="LOCAL-00023" summary="test">
  656 + <created>1575535172659</created>
  657 + <option name="number" value="00023" />
  658 + <option name="presentableId" value="LOCAL-00023" />
  659 + <option name="project" value="LOCAL" />
  660 + <updated>1575535172659</updated>
  661 + </task>
  662 + <task id="LOCAL-00024" summary="test">
  663 + <created>1575536664531</created>
  664 + <option name="number" value="00024" />
  665 + <option name="presentableId" value="LOCAL-00024" />
  666 + <option name="project" value="LOCAL" />
  667 + <updated>1575536664531</updated>
  668 + </task>
  669 + <task id="LOCAL-00025" summary="test">
  670 + <created>1575537356694</created>
  671 + <option name="number" value="00025" />
  672 + <option name="presentableId" value="LOCAL-00025" />
  673 + <option name="project" value="LOCAL" />
  674 + <updated>1575537356694</updated>
  675 + </task>
  676 + <task id="LOCAL-00026" summary="test">
  677 + <created>1575538586819</created>
  678 + <option name="number" value="00026" />
  679 + <option name="presentableId" value="LOCAL-00026" />
  680 + <option name="project" value="LOCAL" />
  681 + <updated>1575538586819</updated>
  682 + </task>
  683 + <task id="LOCAL-00027" summary="test">
  684 + <created>1575538772203</created>
  685 + <option name="number" value="00027" />
  686 + <option name="presentableId" value="LOCAL-00027" />
  687 + <option name="project" value="LOCAL" />
  688 + <updated>1575538772203</updated>
  689 + </task>
  690 + <task id="LOCAL-00028" summary="test">
  691 + <created>1575538999699</created>
  692 + <option name="number" value="00028" />
  693 + <option name="presentableId" value="LOCAL-00028" />
  694 + <option name="project" value="LOCAL" />
  695 + <updated>1575538999699</updated>
  696 + </task>
  697 + <task id="LOCAL-00029" summary="test">
  698 + <created>1575595329456</created>
  699 + <option name="number" value="00029" />
  700 + <option name="presentableId" value="LOCAL-00029" />
  701 + <option name="project" value="LOCAL" />
  702 + <updated>1575595329456</updated>
  703 + </task>
  704 + <task id="LOCAL-00030" summary="jenkins发送通知">
  705 + <created>1575948439320</created>
  706 + <option name="number" value="00030" />
  707 + <option name="presentableId" value="LOCAL-00030" />
  708 + <option name="project" value="LOCAL" />
  709 + <updated>1575948439320</updated>
  710 + </task>
  711 + <task id="LOCAL-00031" summary="增加已完成的测试用例">
  712 + <created>1576057808471</created>
  713 + <option name="number" value="00031" />
  714 + <option name="presentableId" value="LOCAL-00031" />
  715 + <option name="project" value="LOCAL" />
  716 + <updated>1576057808471</updated>
  717 + </task>
  718 + <task id="LOCAL-00032" summary="修改错误用例">
  719 + <created>1576058168520</created>
  720 + <option name="number" value="00032" />
  721 + <option name="presentableId" value="LOCAL-00032" />
  722 + <option name="project" value="LOCAL" />
  723 + <updated>1576058168520</updated>
  724 + </task>
  725 + <task id="LOCAL-00033" summary="test">
  726 + <created>1576058833632</created>
  727 + <option name="number" value="00033" />
  728 + <option name="presentableId" value="LOCAL-00033" />
  729 + <option name="project" value="LOCAL" />
  730 + <updated>1576058833632</updated>
  731 + </task>
  732 + <task id="LOCAL-00034" summary="增加执行时间">
  733 + <created>1576117097733</created>
  734 + <option name="number" value="00034" />
  735 + <option name="presentableId" value="LOCAL-00034" />
  736 + <option name="project" value="LOCAL" />
  737 + <updated>1576117097733</updated>
  738 + </task>
  739 + <task id="LOCAL-00035" summary="test">
  740 + <created>1576121007574</created>
  741 + <option name="number" value="00035" />
  742 + <option name="presentableId" value="LOCAL-00035" />
  743 + <option name="project" value="LOCAL" />
  744 + <updated>1576121007574</updated>
  745 + </task>
  746 + <task id="LOCAL-00036" summary="add Dockerfile">
  747 + <created>1577091102171</created>
  748 + <option name="number" value="00036" />
  749 + <option name="presentableId" value="LOCAL-00036" />
  750 + <option name="project" value="LOCAL" />
  751 + <updated>1577091102195</updated>
  752 + </task>
  753 + <task id="LOCAL-00037" summary="test">
  754 + <created>1586444067591</created>
  755 + <option name="number" value="00037" />
  756 + <option name="presentableId" value="LOCAL-00037" />
  757 + <option name="project" value="LOCAL" />
  758 + <updated>1586444067592</updated>
  759 + </task>
  760 + <task id="LOCAL-00038" summary="test">
  761 + <created>1586445858422</created>
  762 + <option name="number" value="00038" />
  763 + <option name="presentableId" value="LOCAL-00038" />
  764 + <option name="project" value="LOCAL" />
  765 + <updated>1586445858422</updated>
  766 + </task>
  767 + <task id="LOCAL-00039" summary="update 202004111753">
  768 + <created>1586598800610</created>
  769 + <option name="number" value="00039" />
  770 + <option name="presentableId" value="LOCAL-00039" />
  771 + <option name="project" value="LOCAL" />
  772 + <updated>1586598800611</updated>
  773 + </task>
  774 + <task id="LOCAL-00040" summary="update 202004112040">
  775 + <created>1586608862696</created>
  776 + <option name="number" value="00040" />
  777 + <option name="presentableId" value="LOCAL-00040" />
  778 + <option name="project" value="LOCAL" />
  779 + <updated>1586608862696</updated>
  780 + </task>
  781 + <task id="LOCAL-00041" summary="update 202004191730">
  782 + <created>1587288519826</created>
  783 + <option name="number" value="00041" />
  784 + <option name="presentableId" value="LOCAL-00041" />
  785 + <option name="project" value="LOCAL" />
  786 + <updated>1587288519828</updated>
  787 + </task>
  788 + <task id="LOCAL-00042" summary="update 202004301600">
  789 + <created>1588234128585</created>
  790 + <option name="number" value="00042" />
  791 + <option name="presentableId" value="LOCAL-00042" />
  792 + <option name="project" value="LOCAL" />
  793 + <updated>1588234128585</updated>
  794 + </task>
  795 + <task id="LOCAL-00043" summary="update 202004301600">
  796 + <created>1588432911301</created>
  797 + <option name="number" value="00043" />
  798 + <option name="presentableId" value="LOCAL-00043" />
  799 + <option name="project" value="LOCAL" />
  800 + <updated>1588432911302</updated>
  801 + </task>
  802 + <task id="LOCAL-00044" summary="update 2020005061750">
  803 + <created>1588758639729</created>
  804 + <option name="number" value="00044" />
  805 + <option name="presentableId" value="LOCAL-00044" />
  806 + <option name="project" value="LOCAL" />
  807 + <updated>1588758639731</updated>
  808 + </task>
  809 + <task id="LOCAL-00045" summary="update 2020005122330">
  810 + <created>1589297363601</created>
  811 + <option name="number" value="00045" />
  812 + <option name="presentableId" value="LOCAL-00045" />
  813 + <option name="project" value="LOCAL" />
  814 + <updated>1589297363601</updated>
  815 + </task>
  816 + <task id="LOCAL-00046" summary="update 2020005122330">
  817 + <created>1590119242468</created>
  818 + <option name="number" value="00046" />
  819 + <option name="presentableId" value="LOCAL-00046" />
  820 + <option name="project" value="LOCAL" />
  821 + <updated>1590119242470</updated>
  822 + </task>
  823 + <option name="localTasksCounter" value="47" />
  824 + <servers />
  825 + </component>
  826 + <component name="TimeTrackingManager">
  827 + <option name="totallyTimeSpent" value="279263000" />
  828 + </component>
  829 + <component name="TodoView" selected-index="3">
  830 + <todo-panel id="selected-file">
  831 + <is-autoscroll-to-source value="true" />
  832 + </todo-panel>
  833 + <todo-panel id="all">
  834 + <are-packages-shown value="true" />
  835 + </todo-panel>
  836 + </component>
  837 + <component name="ToolWindowManager">
  838 + <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
  839 + <layout>
  840 + <window_info content_ui="combo" id="Project" order="0" sideWeight="0.49761903" visible="true" weight="0.32886267" />
  841 + <window_info id="Structure" order="1" sideWeight="0.50238097" side_tool="true" weight="0.30711043" />
  842 + <window_info id="Favorites" order="2" sideWeight="0.50238097" side_tool="true" weight="0.30711043" />
  843 + <window_info anchor="bottom" id="Message" order="0" />
  844 + <window_info anchor="bottom" id="Find" order="1" />
  845 + <window_info anchor="bottom" id="Run" order="2" weight="0.30153322" />
  846 + <window_info anchor="bottom" id="Debug" order="3" weight="0.39863715" />
  847 + <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
  848 + <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
  849 + <window_info anchor="bottom" id="TODO" order="6" sideWeight="0.49924356" weight="0.32879046" />
  850 + <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
  851 + <window_info anchor="bottom" id="Version Control" order="8" sideWeight="0.49848714" weight="0.32879046" />
  852 + <window_info anchor="bottom" id="Database Changes" order="9" />
  853 + <window_info anchor="bottom" id="Event Log" order="10" sideWeight="0.50226927" side_tool="true" weight="0.32879046" />
  854 + <window_info active="true" anchor="bottom" id="Terminal" order="11" sideWeight="0.4977307" visible="true" weight="0.33705357" />
  855 + <window_info anchor="bottom" id="Python Console" order="12" weight="0.32879046" />
  856 + <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
  857 + <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
  858 + <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
  859 + <window_info anchor="right" id="SciView" order="3" />
  860 + <window_info anchor="right" id="Database" order="4" />
  861 + </layout>
  862 + </component>
  863 + <component name="TypeScriptGeneratedFilesManager">
  864 + <option name="version" value="1" />
  865 + </component>
  866 + <component name="UnknownFeatures">
  867 + <option featureType="com.intellij.fileTypeFactory" implementationName="*.env" />
  868 + <option featureType="com.intellij.fileTypeFactory" implementationName="*.csv" />
  869 + <option featureType="com.intellij.fileTypeFactory" implementationName="*.yml" />
  870 + <option featureType="com.intellij.fileTypeFactory" implementationName="*.tml" />
  871 + </component>
  872 + <component name="Vcs.Log.Tabs.Properties">
  873 + <option name="TAB_STATES">
  874 + <map>
  875 + <entry key="MAIN">
  876 + <value>
  877 + <State>
  878 + <option name="RECENTLY_FILTERED_USER_GROUPS">
  879 + <collection />
  880 + </option>
  881 + <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
  882 + <collection />
  883 + </option>
  884 + <option name="COLUMN_ORDER" />
  885 + </State>
  886 + </value>
  887 + </entry>
  888 + </map>
  889 + </option>
  890 + <option name="RECENT_FILTERS">
  891 + <map>
  892 + <entry key="Branch">
  893 + <value>
  894 + <list />
  895 + </value>
  896 + </entry>
  897 + <entry key="User">
  898 + <value>
  899 + <list />
  900 + </value>
  901 + </entry>
  902 + </map>
  903 + </option>
  904 + </component>
  905 + <component name="VcsManagerConfiguration">
  906 + <ignored-roots>
  907 + <path value="$PROJECT_DIR$/HttpRunner" />
  908 + </ignored-roots>
  909 + <MESSAGE value="增加备选方案评分权限校验&#10;增加解决方案评分权限校验" />
  910 + <MESSAGE value="修改测试策略:改为每次执行用例集前,初始化数据库" />
  911 + <MESSAGE value="增加首页“已解决”“未解决”测试用例,todo" />
  912 + <MESSAGE value="查看权限人员:已解决、未解决、解决中、总提问数量校验" />
  913 + <MESSAGE value="评分权限人员:已解决、未解决、解决中、总提问数量校验" />
  914 + <MESSAGE value="增加首页:已解决、解决中、未解决列表翻页校验" />
  915 + <MESSAGE value="修正文件名错误问题" />
  916 + <MESSAGE value="新增测试用例excel" />
  917 + <MESSAGE value="增加测试用例编号" />
  918 + <MESSAGE value="fix" />
  919 + <MESSAGE value="修改debugtalk,将函数分类写在对应的wrapper文件夹中" />
  920 + <MESSAGE value="优化测试用例" />
  921 + <MESSAGE value="修改time_wrap" />
  922 + <MESSAGE value="jenkins发送通知" />
  923 + <MESSAGE value="增加已完成的测试用例" />
  924 + <MESSAGE value="修改错误用例" />
  925 + <MESSAGE value="增加执行时间" />
  926 + <MESSAGE value="add Dockerfile" />
  927 + <MESSAGE value="test" />
  928 + <MESSAGE value="update 202004111753" />
  929 + <MESSAGE value="update 202004112040" />
  930 + <MESSAGE value="update 202004191730" />
  931 + <MESSAGE value="update 202004301600" />
  932 + <MESSAGE value="update 2020005061750" />
  933 + <MESSAGE value="update 2020005122330" />
  934 + <option name="LAST_COMMIT_MESSAGE" value="update 2020005122330" />
  935 + </component>
  936 + <component name="editorHistoryManager">
  937 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW004.yml">
  938 + <provider selected="true" editor-type-id="text-editor">
  939 + <state relative-caret-position="93">
  940 + <caret line="47" selection-start-line="47" selection-start-column="1" selection-end-line="55" selection-end-column="21" />
  941 + </state>
  942 + </provider>
  943 + </entry>
  944 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW005.yml">
  945 + <provider selected="true" editor-type-id="text-editor">
  946 + <state relative-caret-position="1545">
  947 + <caret line="116" column="23" selection-start-line="81" selection-start-column="1" selection-end-line="116" selection-end-column="23" />
  948 + </state>
  949 + </provider>
  950 + </entry>
  951 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW005.yml">
  952 + <provider selected="true" editor-type-id="text-editor">
  953 + <state relative-caret-position="1545">
  954 + <caret line="116" column="23" selection-start-line="81" selection-start-column="1" selection-end-line="116" selection-end-column="23" />
  955 + </state>
  956 + </provider>
  957 + </entry>
  958 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW004.yml">
  959 + <provider selected="true" editor-type-id="text-editor">
  960 + <state relative-caret-position="753">
  961 + <caret line="47" selection-start-line="47" selection-start-column="1" selection-end-line="55" selection-end-column="21" />
  962 + </state>
  963 + </provider>
  964 + </entry>
  965 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW001.yml">
  966 + <provider selected="true" editor-type-id="text-editor">
  967 + <state relative-caret-position="484">
  968 + <caret line="22" selection-start-line="22" selection-start-column="1" selection-end-line="23" selection-end-column="59" />
  969 + </state>
  970 + </provider>
  971 + </entry>
  972 + <entry file="file://$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_0_0_api.yml">
  973 + <provider selected="true" editor-type-id="text-editor">
  974 + <state relative-caret-position="198">
  975 + <caret line="9" column="20" selection-start-line="9" selection-start-column="20" selection-end-line="9" selection-end-column="20" />
  976 + </state>
  977 + </provider>
  978 + </entry>
  979 + <entry file="file://$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_1_0_api.yml">
  980 + <provider selected="true" editor-type-id="text-editor">
  981 + <state relative-caret-position="198">
  982 + <caret line="9" column="21" selection-start-line="9" selection-start-column="21" selection-end-line="9" selection-end-column="21" />
  983 + </state>
  984 + </provider>
  985 + </entry>
  986 + <entry file="file://$PROJECT_DIR$/api/task_api/task/qd_fb_task/taskPublish_0_1_api.yml">
  987 + <provider selected="true" editor-type-id="text-editor">
  988 + <state relative-caret-position="198">
  989 + <caret line="9" column="20" selection-start-line="9" selection-start-column="20" selection-end-line="9" selection-end-column="20" />
  990 + </state>
  991 + </provider>
  992 + </entry>
  993 + <entry file="file://$PROJECT_DIR$/api/task_api/task/qd_fb_task/tasksearchResources_api.yml">
  994 + <provider selected="true" editor-type-id="text-editor">
  995 + <state relative-caret-position="198">
  996 + <caret line="9" column="12" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="12" />
  997 + </state>
  998 + </provider>
  999 + </entry>
  1000 + <entry file="file://$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_0_1_api.yml">
  1001 + <provider selected="true" editor-type-id="text-editor">
  1002 + <state relative-caret-position="176">
  1003 + <caret line="8" column="16" lean-forward="true" selection-start-line="8" selection-start-column="16" selection-end-line="8" selection-end-column="18" />
  1004 + </state>
  1005 + </provider>
  1006 + </entry>
  1007 + <entry file="file://$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_1_1_api.yml">
  1008 + <provider selected="true" editor-type-id="text-editor">
  1009 + <state relative-caret-position="198">
  1010 + <caret line="9" column="20" selection-start-line="9" selection-start-column="20" selection-end-line="9" selection-end-column="20" />
  1011 + </state>
  1012 + </provider>
  1013 + </entry>
  1014 + <entry file="file://$PROJECT_DIR$/api/task_api/task/jb_fb_task/tasksearchResources_api.yml">
  1015 + <provider selected="true" editor-type-id="text-editor" />
  1016 + </entry>
  1017 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_0_1_api.yml">
  1018 + <provider selected="true" editor-type-id="text-editor">
  1019 + <state relative-caret-position="181">
  1020 + <caret line="35" column="27" selection-start-line="35" selection-start-column="27" selection-end-line="35" selection-end-column="27" />
  1021 + </state>
  1022 + </provider>
  1023 + </entry>
  1024 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_1_1_api.yml">
  1025 + <provider selected="true" editor-type-id="text-editor">
  1026 + <state relative-caret-position="682">
  1027 + <caret line="31" column="37" selection-start-line="31" selection-start-column="37" selection-end-line="31" selection-end-column="37" />
  1028 + </state>
  1029 + </provider>
  1030 + </entry>
  1031 + <entry file="file://$PROJECT_DIR$/api/task_api/task/rewards/currentTasks_1_api.yml">
  1032 + <provider selected="true" editor-type-id="text-editor">
  1033 + <state relative-caret-position="528">
  1034 + <caret line="24" column="17" selection-start-line="24" selection-start-column="17" selection-end-line="24" selection-end-column="17" />
  1035 + </state>
  1036 + </provider>
  1037 + </entry>
  1038 + <entry file="file://$PROJECT_DIR$/testcases/task/jxz/jxz_gb.yml" />
  1039 + <entry file="file://$PROJECT_DIR$/testcases/task/jxz/jxz_wc.yml" />
  1040 + <entry file="file://$PROJECT_DIR$/testcases/task/save_taskPublish_0_1_api.yml">
  1041 + <provider selected="true" editor-type-id="text-editor">
  1042 + <state relative-caret-position="198">
  1043 + <caret line="12" column="55" selection-start-line="12" selection-start-column="55" selection-end-line="12" selection-end-column="55" />
  1044 + </state>
  1045 + </provider>
  1046 + </entry>
  1047 + <entry file="file://$PROJECT_DIR$/api/task_api/task/jb_fb_task/taskPublish_0_1_0_api.yml">
  1048 + <provider selected="true" editor-type-id="text-editor">
  1049 + <state relative-caret-position="198">
  1050 + <caret line="9" column="20" selection-start-line="9" selection-start-column="20" selection-end-line="9" selection-end-column="20" />
  1051 + </state>
  1052 + </provider>
  1053 + </entry>
  1054 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW003.yml">
  1055 + <provider selected="true" editor-type-id="text-editor">
  1056 + <state relative-caret-position="352">
  1057 + <caret line="16" selection-start-line="16" selection-end-line="19" selection-end-column="43" />
  1058 + </state>
  1059 + </provider>
  1060 + </entry>
  1061 + <entry file="file://$PROJECT_DIR$/testcases/task/jxz/JB/jxz_wc.yml">
  1062 + <provider selected="true" editor-type-id="text-editor">
  1063 + <state relative-caret-position="1210">
  1064 + <caret line="55" column="20" selection-start-line="55" selection-start-column="20" selection-end-line="55" selection-end-column="20" />
  1065 + </state>
  1066 + </provider>
  1067 + </entry>
  1068 + <entry file="file://$PROJECT_DIR$/api/task_api/task/rewards/currentTasks_0_api.yml">
  1069 + <provider selected="true" editor-type-id="text-editor">
  1070 + <state relative-caret-position="374">
  1071 + <caret line="17" column="34" selection-start-line="17" selection-start-column="34" selection-end-line="17" selection-end-column="34" />
  1072 + </state>
  1073 + </provider>
  1074 + </entry>
  1075 + <entry file="file://$PROJECT_DIR$/api/task_api/task/bidTask_api.yml">
  1076 + <provider selected="true" editor-type-id="text-editor">
  1077 + <state relative-caret-position="682">
  1078 + <caret line="31" column="14" selection-start-line="31" selection-start-column="10" selection-end-line="31" selection-end-column="14" />
  1079 + </state>
  1080 + </provider>
  1081 + </entry>
  1082 + <entry file="file://$PROJECT_DIR$/api/task_api/task/rewards/submitCompete_1_api.yml">
  1083 + <provider selected="true" editor-type-id="text-editor">
  1084 + <state relative-caret-position="484">
  1085 + <caret line="22" column="17" selection-start-line="22" selection-start-column="17" selection-end-line="22" selection-end-column="17" />
  1086 + </state>
  1087 + </provider>
  1088 + </entry>
  1089 + <entry file="file://$PROJECT_DIR$/api/task_api/task/rewards/submitCompete_0_api.yml">
  1090 + <provider selected="true" editor-type-id="text-editor">
  1091 + <state relative-caret-position="88">
  1092 + <caret line="4" selection-start-line="4" selection-end-line="7" selection-end-column="55" />
  1093 + </state>
  1094 + </provider>
  1095 + </entry>
  1096 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_QD/QDRW003.yml">
  1097 + <provider selected="true" editor-type-id="text-editor">
  1098 + <state relative-caret-position="264">
  1099 + <caret line="12" column="36" selection-start-line="12" selection-start-column="36" selection-end-line="12" selection-end-column="36" />
  1100 + </state>
  1101 + </provider>
  1102 + </entry>
  1103 + <entry file="file://$PROJECT_DIR$/testcases/task/jxz/QD/jxz_wc.yml">
  1104 + <provider selected="true" editor-type-id="text-editor" />
  1105 + </entry>
  1106 + <entry file="file://$PROJECT_DIR$/run.py">
  1107 + <provider selected="true" editor-type-id="text-editor">
  1108 + <state relative-caret-position="220">
  1109 + <caret line="11" column="11" selection-start-line="11" selection-start-column="11" selection-end-line="11" selection-end-column="11" />
  1110 + </state>
  1111 + </provider>
  1112 + </entry>
  1113 + <entry file="file://$PROJECT_DIR$/testcases/permission/ques_pf_permission/QX002_pf_levelequal_permission.yml">
  1114 + <provider selected="true" editor-type-id="text-editor" />
  1115 + </entry>
  1116 + <entry file="file://$PROJECT_DIR$/api/business_admin_api/login_api/auth/login_api.yml">
  1117 + <provider selected="true" editor-type-id="text-editor">
  1118 + <state relative-caret-position="462">
  1119 + <caret line="21" selection-start-line="21" selection-end-line="25" />
  1120 + </state>
  1121 + </provider>
  1122 + </entry>
  1123 + <entry file="file://$PROJECT_DIR$/api/business_admin_api/login_api/auth/pwdLogin_api.yml">
  1124 + <provider selected="true" editor-type-id="text-editor">
  1125 + <state relative-caret-position="132">
  1126 + <caret line="6" selection-start-line="6" selection-end-line="7" selection-end-column="51" />
  1127 + </state>
  1128 + </provider>
  1129 + </entry>
  1130 + <entry file="file://$PROJECT_DIR$/api/business_admin_api/login_api/auth/getSingleLoginMenus_api.yml">
  1131 + <provider selected="true" editor-type-id="text-editor">
  1132 + <state relative-caret-position="176">
  1133 + <caret line="8" column="8" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="51" />
  1134 + </state>
  1135 + </provider>
  1136 + </entry>
  1137 + <entry file="file://$PROJECT_DIR$/testcases/business_admin/login_testcases.yml">
  1138 + <provider selected="true" editor-type-id="text-editor">
  1139 + <state relative-caret-position="95">
  1140 + <caret line="17" selection-start-line="17" selection-end-line="18" selection-end-column="19" />
  1141 + </state>
  1142 + </provider>
  1143 + </entry>
  1144 + <entry file="file://$PROJECT_DIR$/testcases/task/taskPublish_JB/JBRW002.yml">
  1145 + <provider selected="true" editor-type-id="text-editor">
  1146 + <state relative-caret-position="924">
  1147 + <caret line="42" column="9" selection-start-line="42" selection-start-column="9" selection-end-line="42" selection-end-column="61" />
  1148 + </state>
  1149 + </provider>
  1150 + </entry>
  1151 + <entry file="file://$PROJECT_DIR$/api/task_api/task/dfb_task/iPublishedTasks_0_api.yml">
  1152 + <provider selected="true" editor-type-id="text-editor" />
  1153 + </entry>
  1154 + <entry file="file://$PROJECT_DIR$/api/task_api/task/dfb_task/taskdeleteTask_api.yml">
  1155 + <provider selected="true" editor-type-id="text-editor" />
  1156 + </entry>
  1157 + <entry file="file://$PROJECT_DIR$/api/task_api/task/iPublishedTasks_3_api.yml">
  1158 + <provider selected="true" editor-type-id="text-editor">
  1159 + <state relative-caret-position="462">
  1160 + <caret line="21" selection-start-line="21" selection-end-line="23" selection-end-column="17" />
  1161 + </state>
  1162 + </provider>
  1163 + </entry>
  1164 + <entry file="file://$PROJECT_DIR$/api/task_api/task/taskStatistics.yml">
  1165 + <provider selected="true" editor-type-id="text-editor" />
  1166 + </entry>
  1167 + <entry file="file://$PROJECT_DIR$/debugtalk.py">
  1168 + <provider selected="true" editor-type-id="text-editor">
  1169 + <state relative-caret-position="294">
  1170 + <caret line="31" column="28" selection-start-line="31" selection-start-column="28" selection-end-line="31" selection-end-column="28" />
  1171 + <folding>
  1172 + <element signature="e#0#11#0" expanded="true" />
  1173 + </folding>
  1174 + </state>
  1175 + </provider>
  1176 + </entry>
  1177 + <entry file="file://$PROJECT_DIR$/api/task_api/task/taskcloseTask_api.yml">
  1178 + <provider selected="true" editor-type-id="text-editor" />
  1179 + </entry>
  1180 + <entry file="file://$PROJECT_DIR$/api/task_api/task/taskcheckAccept_api.yml">
  1181 + <provider selected="true" editor-type-id="text-editor" />
  1182 + </entry>
  1183 + <entry file="file://$PROJECT_DIR$/api/task_api/task/taskfinishTask_api.yml">
  1184 + <provider selected="true" editor-type-id="text-editor" />
  1185 + </entry>
  1186 + <entry file="file://$PROJECT_DIR$/api/task_api/task/taskDetails_api.yml">
  1187 + <provider selected="true" editor-type-id="text-editor" />
  1188 + </entry>
  1189 + <entry file="file://$PROJECT_DIR$/.env">
  1190 + <provider selected="true" editor-type-id="text-editor">
  1191 + <state relative-caret-position="260">
  1192 + <caret line="10" column="12" selection-start-line="10" selection-start-column="12" selection-end-line="10" selection-end-column="12" />
  1193 + </state>
  1194 + </provider>
  1195 + </entry>
  1196 + <entry file="file://$PROJECT_DIR$/helpfunc/login_func.py">
  1197 + <provider selected="true" editor-type-id="text-editor">
  1198 + <state relative-caret-position="338">
  1199 + <caret line="14" selection-start-line="14" selection-end-line="14" />
  1200 + <folding>
  1201 + <element signature="e#107#119#0" expanded="true" />
  1202 + </folding>
  1203 + </state>
  1204 + </provider>
  1205 + </entry>
  1206 + <entry file="file://$PROJECT_DIR$/api/app_api/question_api/audits_ireview_api.yml">
  1207 + <provider selected="true" editor-type-id="text-editor" />
  1208 + </entry>
  1209 + <entry file="file://$PROJECT_DIR$/api/app_api/question_api/applyForQuestions_api.yml">
  1210 + <provider selected="true" editor-type-id="text-editor" />
  1211 + </entry>
  1212 + <entry file="file://$PROJECT_DIR$/testcases/question/add_question.yml">
  1213 + <provider selected="true" editor-type-id="text-editor" />
  1214 + </entry>
  1215 + <entry file="file://$PROJECT_DIR$/testsuites/ability_suites.yml">
  1216 + <provider selected="true" editor-type-id="text-editor" />
  1217 + </entry>
  1218 + <entry file="file://$PROJECT_DIR$/api/app_api/firstpage_api/addquestion_api.yml">
  1219 + <provider selected="true" editor-type-id="text-editor">
  1220 + <state relative-caret-position="208">
  1221 + <caret line="8" column="32" selection-start-line="8" selection-start-column="32" selection-end-line="8" selection-end-column="32" />
  1222 + </state>
  1223 + </provider>
  1224 + </entry>
  1225 + <entry file="file://$PROJECT_DIR$/testcases/permission/ques_pf_permission/QX001_pf_permission.yml">
  1226 + <provider selected="true" editor-type-id="text-editor">
  1227 + <state relative-caret-position="208">
  1228 + <caret line="14" column="27" selection-start-line="14" selection-start-column="27" selection-end-line="14" selection-end-column="27" />
  1229 + </state>
  1230 + </provider>
  1231 + </entry>
  1232 + </component>
  1233 +</project>
  1 +FROM python:3
  2 +
  3 +RUN git clone http://dengyuting:dyt_123456@gitlab.fjmaimaimai.com/dengyuting/ability_api.git /ability_api&& cd /ability_api && git pull
  4 +WORKDIR /ability_api
  5 +
  6 +RUN pip install --no-cache-dir -r requirements.txt
  7 +
  8 +RUN hrun testsuites/ability_suites.yml --save-tests
  9 +
  10 +RUN python sendmsg.py
  1 +name: 发布提问
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + title: 最有价值测试${get_second()}
  10 + content: 最有价值测试${get_second()}
  11 +request:
  12 + headers:
  13 + Content-Type: application/json;charset=utf-8
  14 + User-Agent: abilityIOSTest/1000012 CFNetwork/1121.2.2 Darwin/19.3.0
  15 + X-MMM-AccessToken: $access_token
  16 + X-MMM-AppName: com.mmm.ability
  17 + X-MMM-AppProject: ability
  18 + X-MMM-DeviceType: '0'
  19 + X-MMM-Sign: $sign
  20 + X-MMM-Timestamp: $currtime
  21 + X-MMM-Uuid: $uuid
  22 + X-MMM-Version: 1.0.0
  23 + json:
  24 + content: $content
  25 + id: 0
  26 + initDep:
  27 + id: 101229
  28 + name: 食品
  29 + pictures:
  30 + - h: 1334
  31 + path: http://ability-test.fjmaimaimai.com:8899/html/ab/1586654116769645740.jpg
  32 + w: 750
  33 + relatedDeps:
  34 + - id: 101229
  35 + name: 食品
  36 + selected: true
  37 + title: $title
  38 + way: 1
  39 + method: POST
  40 + url: /v1/question/addQuestion
  41 +validate:
  42 + - eq:
  43 + - content.code
  44 + - 0
  45 + - eq:
  46 + - content.msg
  47 + - 发布成功
  1 +name: 首页公告内容:/v1/notice/announcement
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $access_token)}
  8 +request:
  9 + headers:
  10 + Content-Type: application/json;charset=utf-8
  11 + User-Agent: okhttp/3.12.3
  12 + X-MMM-AccessToken: $access_token
  13 + X-MMM-AppName: com.mmm.ability
  14 + X-MMM-AppProject: ability
  15 + X-MMM-DeviceType: '0'
  16 + X-MMM-Sign: $sign
  17 + X-MMM-Timestamp: $currtime
  18 + X-MMM-Uuid: $uuid
  19 + X-MMM-Version: 0.12.0
  20 + json: {}
  21 + method: POST
  22 + url: /v1/notice/announcement
  23 +validate:
  24 + - eq:
  25 + - content.code
  26 + - 0
  27 + - eq:
  28 + - content.msg
  29 + - 获取公告信息成功
  1 +name: 首页BOSS足迹:/v1/question/bossFootprints
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $access_token)}
  8 +request:
  9 + headers:
  10 + Content-Type: application/json;charset=utf-8
  11 + User-Agent: okhttp/3.12.3
  12 + X-MMM-AccessToken: $access_token
  13 + X-MMM-AppName: com.mmm.ability
  14 + X-MMM-AppProject: ability
  15 + X-MMM-DeviceType: '1'
  16 + X-MMM-Sign: $sign
  17 + X-MMM-Timestamp: $currtime
  18 + X-MMM-Uuid: $uuid
  19 + X-MMM-Version: 0.4.0
  20 + json: {}
  21 + method: POST
  22 + url: /v1/question/bossFootprints
  23 +validate:
  24 + - eq:
  25 + - content.code
  26 + - 0
  27 + - eq:
  28 + - content.msg
  29 + - 获取BOSS足迹成功
  1 +name: 首页搜索:/v1/question/searchAll
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $access_token)}
  8 +
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '1'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 0.5.0
  21 + json:
  22 + keyword: ' '
  23 + pageIndex: 0
  24 + pageSize: 20
  25 + solved: 0
  26 + method: POST
  27 + url: /v1/question/searchAll
  28 +validate:
  29 +- eq:
  30 + - content.code
  31 + - 0
  32 +- eq:
  33 + - content.msg
  34 + - 获取提问列表成功
  1 +name: /api/time/get_timestamp
  2 +request:
  3 + headers:
  4 + User-Agent: okhttp/3.12.3
  5 + method: GET
  6 + url: http://tongji.fjmaimaimai.com/api/time/get_timestamp
  7 +validate:
  8 + - eq:
  9 + - content.msg
  10 + - success
  11 + - eq:
  12 + - content.code
  13 + - 0
  1 +name: 获取授权令牌
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ''
  8 + sign: ${make_sign($currtime, $uuid,$access_token)}
  9 +teardown_hooks:
  10 + - ${teardown_hook_get_accesstoken($response)}
  11 +request:
  12 + headers:
  13 + Content-Type: application/json;charset=utf-8
  14 + User-Agent: abilityIOSTest/120004 CFNetwork/1121.2.2 Darwin/19.3.0
  15 +# X-MMM-AppName: com.maimaimai.abilityIOS
  16 + X-MMM-AppProject: ability
  17 + X-MMM-DeviceType: "0"
  18 + X-MMM-Sign: $sign
  19 + X-MMM-Timestamp: $currtime
  20 + X-MMM-Uuid: $uuid
  21 + X-MMM-Version: 0.12.0
  22 + json:
  23 + clientId: lks3Z8Ncn2j
  24 + authCode: ${get_authcode()}
  25 + clientSecret: gtfhyjukiol3Qncbvmdwe67khh
  26 + method: POST
  27 + url: /v1/auth/accessToken
  28 +validate:
  29 +- eq:
  30 + - content.code
  31 + - 0
  32 +- eq:
  33 + - content.msg
  34 + - 获取成功
  1 +name: 客户端账号登录
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ''
  8 + sign: ${make_sign($currtime, $uuid,$access_token)}
  9 + phone: ${ENV(wpftwphone)}
  10 +teardown_hooks:
  11 + - ${teardown_hook_get_authcode($response)}
  12 +request:
  13 + headers:
  14 + Content-Type: application/json;charset=utf-8
  15 + User-Agent: abilityIOSTest/120004 CFNetwork/1121.2.2 Darwin/19.3.0
  16 + X-MMM-AppName: com.maimaimai.abilityIOS
  17 + X-MMM-AppProject: ability
  18 + X-MMM-DeviceType: '0'
  19 + X-MMM-Sign: $sign
  20 + X-MMM-Timestamp: $currtime
  21 + X-MMM-Uuid: $uuid
  22 + X-MMM-Version: 0.12.0
  23 + json:
  24 + clientId: lks3Z8Ncn2j
  25 + credentials: ${get_credentials()}
  26 + cuid: ${get_cuid()}
  27 + muid: ${get_muid()}
  28 + cid: ${get_cid()}
  29 + method: POST
  30 + url: /v1/auth/authorize
  31 +validate:
  32 +- eq:
  33 + - content.code
  34 + - 0
  35 +- eq:
  36 + - content.msg
  37 + - 登录成功
  38 +
  1 +name: 用户中心账号登录
  2 +base_url: ${ENV(base_public_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ''
  8 + sign: ${make_sign($currtime, $uuid,$access_token)}
  9 + grantType: signInPassword
  10 + phone: ${ENV(allphone)}
  11 + password: 7c4a8d09ca3762af61e59520943dc26494f8941b
  12 + Type: 1
  13 + msg: ok
  14 +teardown_hooks:
  15 + - ${teardown_hook_get_cuid($response)}
  16 + - ${teardown_hook_get_credentials($response)}
  17 + - ${teardown_hook_get_muid($response)}
  18 + - ${teardown_hook_get_cid($response)}
  19 +
  20 +request:
  21 + headers:
  22 + Content-Type: application/json;charset=utf-8
  23 + User-Agent: okhttp/3.12.3
  24 + X-MMM-AccessToken: $access_token
  25 + X-MMM-DeviceType: '1'
  26 + X-MMM-Sign: $sign
  27 + X-MMM-Timestamp: $currtime
  28 + X-MMM-Uuid: $uuid
  29 + X-MMM-Version: 0.9.0
  30 + json:
  31 + grantType: $grantType
  32 + password: $password
  33 + phone: $phone
  34 + clientId: lks3Z8Ncn2j
  35 + method: POST
  36 + url: ucenter/v2/auth/loginAggregate
  37 +extract:
  38 +# cuid: content.data.cuid
  39 + credentials: content.data.credentials
  40 +validate:
  41 +- eq:
  42 + - content.msg
  43 + - ok
  1 +name: 公告列表:/v1/message/announcements
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $access_token)}
  8 +request:
  9 + headers:
  10 + Content-Type: application/json;charset=utf-8
  11 + User-Agent: okhttp/3.12.3
  12 + X-MMM-AccessToken: $access_token
  13 + X-MMM-AppName: com.mmm.ability
  14 + X-MMM-AppProject: ability
  15 + X-MMM-DeviceType: '0'
  16 + X-MMM-Sign: $sign
  17 + X-MMM-Timestamp: $currtime
  18 + X-MMM-Uuid: $uuid
  19 + X-MMM-Version: 0.12.0
  20 + json: {}
  21 + method: POST
  22 + url: /v1/message/announcements
  23 +validate:
  24 + - eq:
  25 + - content.code
  26 + - 0
  27 + - eq:
  28 + - content.msg
  29 + - 获取公告信息成功
  1 +name: 消息数量统计(首页、个人中心):/v1/message/msgStatistics
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $access_token)}
  8 +request:
  9 + headers:
  10 + Content-Type: application/json;charset=utf-8
  11 + User-Agent: okhttp/3.12.3
  12 + X-MMM-AccessToken: $access_token
  13 + X-MMM-AppName: com.mmm.ability
  14 + X-MMM-AppProject: ability
  15 + X-MMM-DeviceType: '0'
  16 + X-MMM-Sign: $sign
  17 + X-MMM-Timestamp: $currtime
  18 + X-MMM-Uuid: $uuid
  19 + X-MMM-Version: 0.12.0
  20 + json:
  21 + typeTotal: 1835019
  22 + method: POST
  23 + url: /v1/message/msgStatistics
  24 +validate:
  25 + - eq:
  26 + - content.code
  27 + - 0
  28 + - eq:
  29 + - content.msg
  30 + - 获取统计信息成功
  1 +name: 申请解决提问:/v1/question/applyForQuestions
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $access_token)}
  8 +
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 0.12.0
  21 + json:
  22 + qid: $qid
  23 + method: POST
  24 + url: /v1/question/applyForQuestions
  25 +validate:
  26 +- eq:
  27 + - content.code
  28 + - 0
  29 +- eq:
  30 + - content.msg
  31 + - 申请解决成功
  1 +name: 审核提问:/v1/question/auditQuestion
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $access_token)}
  8 + published: 2
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 0.12.0
  21 + json:
  22 + id: $qid
  23 + published: $published
  24 + qTypeId: 149
  25 + scoreAsk: 0.5
  26 + method: POST
  27 + url: /v1/question/auditQuestion
  28 +validate:
  29 +- eq:
  30 + - content.code
  31 + - 0
  32 +- eq:
  33 + - content.msg
  34 + - 审核成功
  1 +name: 待我审核:/v1/question/audits_ireview
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $access_token)}
  8 +#output:
  9 +# qid: qid
  10 +
  11 +request:
  12 + headers:
  13 + Content-Type: application/json;charset=utf-8
  14 + User-Agent: okhttp/3.12.3
  15 + X-MMM-AccessToken: $access_token
  16 + X-MMM-AppName: com.mmm.ability
  17 + X-MMM-AppProject: ability
  18 + X-MMM-DeviceType: '0'
  19 + X-MMM-Sign: $sign
  20 + X-MMM-Timestamp: $currtime
  21 + X-MMM-Uuid: $uuid
  22 + X-MMM-Version: 0.12.0
  23 + json:
  24 + dids: ''
  25 + lastId: 0
  26 + pageSize: 20
  27 + method: POST
  28 + url: /v1/question/audits_ireview
  29 +#extract:
  30 +# qid: content.data.questions.0.id
  31 +validate:
  32 +- eq:
  33 + - content.code
  34 + - 0
  35 +- eq:
  36 + - content.msg
  37 + - 问题审核列表成功
  1 +name: 获取BOSS足迹:/v2/question/bossFootprints
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + var_access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $var_access_token)}
  8 +request:
  9 + headers:
  10 + Content-Type: application/json;charset=utf-8
  11 + User-Agent: okhttp/3.12.3
  12 + X-MMM-AccessToken: $var_access_token
  13 + X-MMM-AppName: com.mmm.ability
  14 + X-MMM-AppProject: ability
  15 + X-MMM-DeviceType: '0'
  16 + X-MMM-Sign: $sign
  17 + X-MMM-Timestamp: $currtime
  18 + X-MMM-Uuid: $uuid
  19 + X-MMM-Version: 0.12.0
  20 + json:
  21 + pageIndex: 0
  22 + pageSize: 20
  23 + method: POST
  24 + url: /v2/question/bossFootprints
  25 +validate:
  26 + - eq:
  27 + - content.code
  28 + - 0
  29 + - eq:
  30 + - content.msg
  31 + - 获取BOSS足迹成功
  1 +name: 查看提问详情:/v2/question/details
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $access_token)}
  8 +teardown_hooks:
  9 + - ${teardown_hook_get_serialNo($response)}
  10 +request:
  11 + headers:
  12 + Content-Type: application/json;charset=utf-8
  13 + User-Agent: okhttp/3.12.3
  14 + X-MMM-AccessToken: $access_token
  15 + X-MMM-AppName: com.mmm.ability
  16 + X-MMM-AppProject: ability
  17 + X-MMM-DeviceType: '0'
  18 + X-MMM-Sign: $sign
  19 + X-MMM-Timestamp: $currtime
  20 + X-MMM-Uuid: $uuid
  21 + X-MMM-Version: 0.12.0
  22 + json:
  23 +# commentLastId: 0
  24 +# commentPageSize: 20
  25 + qid: $qid
  26 + method: POST
  27 + url: /v2/question/details
  28 +validate:
  29 +- eq:
  30 + - content.code
  31 + - 0
  32 +- eq:
  33 + - content.msg
  34 + - 获取问题详情成功
  1 +name: 获取用户信息:/v2/user/userInfo
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + var_access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $var_access_token)}
  8 +request:
  9 + headers:
  10 + Content-Type: application/json;charset=utf-8
  11 + User-Agent: okhttp/3.12.3
  12 + X-MMM-AccessToken: $var_access_token
  13 + X-MMM-AppName: com.mmm.ability
  14 + X-MMM-AppProject: ability
  15 + X-MMM-DeviceType: '0'
  16 + X-MMM-Sign: $sign
  17 + X-MMM-Timestamp: $currtime
  18 + X-MMM-Uuid: $uuid
  19 + X-MMM-Version: 0.12.0
  20 + json: {}
  21 + method: POST
  22 + url: /v2/user/userInfo
  23 +validate:
  24 + - eq:
  25 + - content.code
  26 + - 0
  27 + - eq:
  28 + - content.msg
  29 + - 获取用户信息
  1 +name: 登录公司
  2 +base_url: ${ENV(base_business_url)}
  3 +verify: False
  4 +teardown_hooks:
  5 + - ${teardown_hook_get_access_token($response)}
  6 +request:
  7 + headers:
  8 + Content-Type: application/json; charset=UTF-8
  9 + Authorization: Bearer ${get_Authorization()}
  10 + Origin: https://enterprise-platform-dev.fjmaimaimai.com
  11 + Referer: https://enterprise-platform-dev.fjmaimaimai.com/
  12 + User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36
  13 + X-Requested-With: XMLHttpRequest
  14 + json:
  15 + companyId: $companyId
  16 + method: POST
  17 + url: auth/anonymousLogin
  18 +validate:
  19 +- eq:
  20 + - content.code
  21 + - 0
  22 +- eq:
  23 + - content.msg
  24 + - ok
  1 +name: 登录列表
  2 +base_url: ${ENV(base_business_url)}
  3 +verify: False
  4 +teardown_hooks:
  5 + - ${teardown_hook_get_login_code($response)}
  6 +request:
  7 + headers:
  8 + Content-Type: application/json; charset=UTF-8
  9 + Authorization: Bearer ${get_access_token()}
  10 + Origin: https://enterprise-platform-dev.fjmaimaimai.com
  11 + Referer: https://enterprise-platform-dev.fjmaimaimai.com/
  12 + User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36
  13 + X-Requested-With: XMLHttpRequest
  14 + json:
  15 + method: POST
  16 + url: auth/getSingleLoginMenus
  17 +validate:
  18 +- eq:
  19 + - content.code
  20 + - 0
  21 +- eq:
  22 + - content.msg
  23 + - ok
  1 +name: 登录价值系统
  2 +base_url: ${ENV(base_worth_url)}
  3 +verify: False
  4 +variables:
  5 + msg: ok
  6 +#teardown_hooks:
  7 +# - ${teardown_hook_get_Authorization($response)}
  8 +
  9 +request:
  10 + headers:
  11 +# Authorization: Bearer ${get_access_token()}
  12 + Content-Type: application/json; charset=UTF-8
  13 + Origin: https://enterprise-platform-dev.fjmaimaimai.com
  14 + Referer: https://enterprise-platform-dev.fjmaimaimai.com/
  15 + User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36
  16 + X-Requested-With: XMLHttpRequest
  17 + json:
  18 + code: ${get_login_code()}
  19 +
  20 + method: POST
  21 + url: auth/login
  22 +validate:
  23 +- eq:
  24 + - content.msg
  25 + - $msg
  1 +name: 企业平台账号登录
  2 +base_url: ${ENV(base_business_url)}
  3 +verify: False
  4 +variables:
  5 + username: ${ENV(adminphone)}
  6 + password: 7c4a8d09ca3762af61e59520943dc26494f8941b
  7 +teardown_hooks:
  8 + - ${teardown_hook_get_Authorization($response)}
  9 +
  10 +request:
  11 + headers:
  12 + Content-Type: application/json; charset=UTF-8
  13 + Origin: https://enterprise-platform-dev.fjmaimaimai.com
  14 + Referer: https://enterprise-platform-dev.fjmaimaimai.com/
  15 + User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36
  16 + X-Requested-With: XMLHttpRequest
  17 + json:
  18 + password: $password
  19 + username: $username
  20 + method: POST
  21 + url: auth/pwdLogin
  22 +validate:
  23 +- eq:
  24 + - content.msg
  25 + - ok
  1 +name: 用户的公司列表
  2 +base_url: ${ENV(base_business_url)}
  3 +verify: False
  4 +
  5 +request:
  6 + headers:
  7 + Content-Type: application/json; charset=UTF-8
  8 + Authorization: Bearer ${get_Authorization()}
  9 + Origin: https://enterprise-platform-dev.fjmaimaimai.com
  10 + Referer: https://enterprise-platform-dev.fjmaimaimai.com/
  11 + User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36
  12 + X-Requested-With: XMLHttpRequest
  13 + json:
  14 + method: POST
  15 + url: companies/userCompamies
  16 +validate:
  17 +- eq:
  18 + - content.code
  19 + - 0
  20 +- eq:
  21 + - content.msg
  22 + - ok
  23 +
  1 +name: 中标
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + id: $id
  23 + uid: $uid
  24 + method: POST
  25 + url: /v1/task/bidTask
  26 +validate:
  27 + - eq:
  28 + - content.code
  29 + - 0
  30 + - eq:
  31 + - content.msg
  32 + - 中标成功
  1 +name: 任务-待发布
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + pageIndex: 0
  23 + pageSize: 20
  24 + action: 0
  25 + method: POST
  26 + url: /v1/task/iPublishedTasks
  27 +validate:
  28 + - eq:
  29 + - content.code
  30 + - 0
  31 + - eq:
  32 + - content.msg
  33 + - 获取成功
  34 +# - $msg
  1 +name: 任务删除
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + id: $id
  23 + method: POST
  24 + url: /v1/task/deleteTask
  25 +validate:
  26 + - eq:
  27 + - content.code
  28 + - 0
  29 + - eq:
  30 + - content.msg
  31 + - 删除成功
  32 +# - $msg
  1 +name: 企业所有员工
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + method: POST
  23 + url: /v1/employee/allEmployees
  24 +validate:
  25 + - eq:
  26 + - content.code
  27 + - 0
  28 + - eq:
  29 + - content.msg
  30 + - 查找成功
  1 +name: 任务-我发布的-待验收
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + pageIndex: 0
  23 + pageSize: 20
  24 + action: 3
  25 + method: POST
  26 + url: /v1/task/iPublishedTasks
  27 +validate:
  28 + - eq:
  29 + - content.code
  30 + - 0
  31 + - eq:
  32 + - content.msg
  33 + - 获取成功
  1 +name: 保存任务
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + title: API测试竞标任务名称${get_nowtime()}
  10 + content: API测试竞标任务内容${get_nowtime()}
  11 + bidStartTime: ${get_bidStartTime()}
  12 + bidEndTime: ${get_bidEndTime()}
  13 + msg: '保存成功'
  14 +request:
  15 + headers:
  16 + Content-Type: application/json;charset=utf-8
  17 + User-Agent: okhttp/3.12.3
  18 + X-MMM-AccessToken: $access_token
  19 + X-MMM-AppName: com.mmm.ability
  20 + X-MMM-AppProject: ability
  21 + X-MMM-DeviceType: '0'
  22 + X-MMM-Sign: $sign
  23 + X-MMM-Timestamp: $currtime
  24 + X-MMM-Uuid: $uuid
  25 + X-MMM-Version: 1.0.0
  26 + json:
  27 + id: 0
  28 + action: 0
  29 + type: 1
  30 + title: $title
  31 + content: $content
  32 + acceptability:
  33 + images:
  34 + nature:
  35 + csVals:
  36 + bidStartTime: $bidStartTime
  37 + bidEndTime: $bidEndTime
  38 + bonus: 0
  39 + isReward: False
  40 + method: POST
  41 + url: /v1/task/taskPublish
  42 +validate:
  43 + - eq:
  44 + - content.code
  45 + - 0
  46 + - eq:
  47 + - content.msg
  48 + - 保存成功
  49 +# - $msg
  1 +name: 发布任务
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + title1: API测试竞标任务名称:${get_nowtime()}
  10 + content: API测试竞标任务内容:${get_nowtime()}
  11 + acceptability: API测试验收标准:${get_nowtime()}
  12 + nature_id: 2
  13 + csVals_id13: 13
  14 + csVals_id3: 3
  15 +request:
  16 + headers:
  17 + Content-Type: application/json;charset=utf-8
  18 + User-Agent: okhttp/3.12.3
  19 + X-MMM-AccessToken: $access_token
  20 + X-MMM-AppName: com.mmm.ability
  21 + X-MMM-AppProject: ability
  22 + X-MMM-DeviceType: '0'
  23 + X-MMM-Sign: $sign
  24 + X-MMM-Timestamp: $currtime
  25 + X-MMM-Uuid: $uuid
  26 + X-MMM-Version: 1.0.0
  27 + json:
  28 + id: 0
  29 + action: 1
  30 + type: 0
  31 + title: $title1
  32 + content: $content
  33 + acceptability: $acceptability
  34 + images:
  35 + nature:
  36 + id: $nature_id
  37 + name: 线
  38 + csVals:
  39 + - id: $csVals_id3
  40 + name: 色泽
  41 + - id: $csVals_id13
  42 + name: 账期
  43 + bidStartTime: 0
  44 + bidEndTime: 0
  45 + bonus: 1000
  46 + refResources:
  47 + - id: $refResources_id
  48 + rType: $rType
  49 + serialNo: $serialNo
  50 + title: $title
  51 + isReward: True
  52 + method: POST
  53 + url: /v1/task/taskPublish
  54 +validate:
  55 + - eq:
  56 + - content.code
  57 + - 0
  58 + - eq:
  59 + - content.msg
  60 + - 发布成功
  61 +# - $msg
  1 +name: 发布任务
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + title1: API测试竞标任务名称:${get_nowtime()}
  10 + content: API测试竞标任务内容:${get_nowtime()}
  11 + acceptability: API测试验收标准:${get_nowtime()}
  12 + nature_id: 2
  13 + csVals_id13: 13
  14 + csVals_id3: 3
  15 +request:
  16 + headers:
  17 + Content-Type: application/json;charset=utf-8
  18 + User-Agent: okhttp/3.12.3
  19 + X-MMM-AccessToken: $access_token
  20 + X-MMM-AppName: com.mmm.ability
  21 + X-MMM-AppProject: ability
  22 + X-MMM-DeviceType: '0'
  23 + X-MMM-Sign: $sign
  24 + X-MMM-Timestamp: $currtime
  25 + X-MMM-Uuid: $uuid
  26 + X-MMM-Version: 1.0.0
  27 + json:
  28 + id: $id
  29 + action: 1
  30 + type: 1
  31 + title: $title1
  32 + content: $content
  33 + acceptability: $acceptability
  34 + images:
  35 + nature:
  36 + id: $nature_id
  37 + name: 线
  38 + csVals:
  39 + - id: $csVals_id3
  40 + name: 色泽
  41 + - id: $csVals_id13
  42 + name: 账期
  43 + bidStartTime: 0
  44 + bidEndTime: 0
  45 + bonus: 1000
  46 + refResources:
  47 + - id: $refResources_id
  48 + rType: $rType
  49 + serialNo: $serialNo
  50 + title: $title
  51 + isReward: False
  52 + method: POST
  53 + url: /v1/task/taskPublish
  54 +validate:
  55 + - eq:
  56 + - content.code
  57 + - 0
  58 + - eq:
  59 + - content.msg
  60 + - 发布成功
  61 +# - $msg
  1 +name: 搜索引用资源
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + keyword: ${get_serialNo()}
  23 + method: POST
  24 + url: /v1/task/searchResources
  25 +validate:
  26 + - eq:
  27 + - content.code
  28 + - 0
  29 + - eq:
  30 + - content.msg
  31 + - 获取成功
  1 +name: 编辑任务:/v1/task/taskPublish
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + title: API测试任务名称${get_nowtime()}
  10 + content: API测试任务描述${get_nowtime()}
  11 + acceptability: API测试验收标准${get_nowtime()}
  12 + nature_id: 2
  13 + csVals_id13: 13
  14 + csVals_id3: 3
  15 + bidStartTime: ${get_bidStartTime()}
  16 + bidEndTime: ${get_bidEndTime()}
  17 +
  18 + msg: '保存成功'
  19 +request:
  20 + headers:
  21 + Content-Type: application/json;charset=utf-8
  22 + User-Agent: okhttp/3.12.3
  23 + X-MMM-AccessToken: $access_token
  24 + X-MMM-AppName: com.mmm.ability
  25 + X-MMM-AppProject: ability
  26 + X-MMM-DeviceType: '0'
  27 + X-MMM-Sign: $sign
  28 + X-MMM-Timestamp: $currtime
  29 + X-MMM-Uuid: $uuid
  30 + X-MMM-Version: 1.0.0
  31 + json:
  32 + id: $id
  33 + action: 0
  34 + type: 1
  35 + title: $title
  36 + content: $content
  37 + acceptability: $acceptability
  38 + images:
  39 + nature:
  40 + id: $nature_id
  41 + name: 线
  42 + csVals:
  43 + - id: $csVals_id3
  44 + name: 色泽
  45 + - id: $csVals_id13
  46 + name: 账期
  47 + bidStartTime: $bidStartTime
  48 + bidEndTime: $bidEndTime
  49 + bonus: 1000
  50 + isReward: False
  51 + method: POST
  52 + url: /v1/task/taskPublish
  53 +validate:
  54 + - eq:
  55 + - content.code
  56 + - 0
  57 + - eq:
  58 + - content.msg
  59 + - 更新成功
  60 +# - $msg
  1 +name: 保存任务
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + title: API测试抢单任务名称${get_nowtime()}
  10 + content: API测试抢单任务内容${get_nowtime()}
  11 + msg: '保存成功'
  12 +request:
  13 + headers:
  14 + Content-Type: application/json;charset=utf-8
  15 + User-Agent: okhttp/3.12.3
  16 + X-MMM-AccessToken: $access_token
  17 + X-MMM-AppName: com.mmm.ability
  18 + X-MMM-AppProject: ability
  19 + X-MMM-DeviceType: '0'
  20 + X-MMM-Sign: $sign
  21 + X-MMM-Timestamp: $currtime
  22 + X-MMM-Uuid: $uuid
  23 + X-MMM-Version: 1.0.0
  24 + json:
  25 + id: 0
  26 + action: 0
  27 + type: 0
  28 + title: $title
  29 + content: $content
  30 + acceptability:
  31 + images:
  32 + nature:
  33 + csVals:
  34 + bidStartTime: 0
  35 + bidEndTime: 0
  36 + bonus: 0
  37 + isReward: False
  38 + method: POST
  39 + url: /v1/task/taskPublish
  40 +validate:
  41 + - eq:
  42 + - content.code
  43 + - 0
  44 + - eq:
  45 + - content.msg
  46 + - 保存成功
  47 +# - $msg
  1 +name: 发布任务
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + title1: API测试抢单任务名称:${get_nowtime()}
  10 + content: API测试任抢单务内容:${get_nowtime()}
  11 + acceptability: API测试验收标准:${get_nowtime()}
  12 + nature_id: 2
  13 + csVals_id13: 13
  14 + csVals_id3: 3
  15 +request:
  16 + headers:
  17 + Content-Type: application/json;charset=utf-8
  18 + User-Agent: okhttp/3.12.3
  19 + X-MMM-AccessToken: $access_token
  20 + X-MMM-AppName: com.mmm.ability
  21 + X-MMM-AppProject: ability
  22 + X-MMM-DeviceType: '0'
  23 + X-MMM-Sign: $sign
  24 + X-MMM-Timestamp: $currtime
  25 + X-MMM-Uuid: $uuid
  26 + X-MMM-Version: 1.0.0
  27 + json:
  28 + id: 0
  29 + action: 1
  30 + type: 0
  31 + title: $title1
  32 + content: $content
  33 + acceptability: $acceptability
  34 + images:
  35 + nature:
  36 + id: $nature_id
  37 + name: 线
  38 + csVals:
  39 + - id: $csVals_id3
  40 + name: 色泽
  41 + - id: $csVals_id13
  42 + name: 账期
  43 + bidStartTime: 0
  44 + bidEndTime: 0
  45 + bonus: 1000
  46 + refResources:
  47 + - id: $refResources_id
  48 + rType: $rType
  49 + serialNo: $serialNo
  50 + title: $title
  51 + isReward: True
  52 + method: POST
  53 + url: /v1/task/taskPublish
  54 +validate:
  55 + - eq:
  56 + - content.code
  57 + - 0
  58 + - eq:
  59 + - content.msg
  60 + - 发布成功
  61 +# - $msg
  1 +name: 发布任务
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + title1: API测试抢单任务名称:${get_nowtime()}
  10 + content: API测试抢单任务内容:${get_nowtime()}
  11 + acceptability: API测试验收标准:${get_nowtime()}
  12 + nature_id: 2
  13 + csVals_id13: 13
  14 + csVals_id3: 3
  15 +request:
  16 + headers:
  17 + Content-Type: application/json;charset=utf-8
  18 + User-Agent: okhttp/3.12.3
  19 + X-MMM-AccessToken: $access_token
  20 + X-MMM-AppName: com.mmm.ability
  21 + X-MMM-AppProject: ability
  22 + X-MMM-DeviceType: '0'
  23 + X-MMM-Sign: $sign
  24 + X-MMM-Timestamp: $currtime
  25 + X-MMM-Uuid: $uuid
  26 + X-MMM-Version: 1.0.0
  27 + json:
  28 + id: $id
  29 + action: 1
  30 + type: 0
  31 + title: $title1
  32 + content: $content
  33 + acceptability: $acceptability
  34 + images:
  35 + nature:
  36 + id: $nature_id
  37 + name: 线
  38 + csVals:
  39 + - id: $csVals_id3
  40 + name: 色泽
  41 + - id: $csVals_id13
  42 + name: 账期
  43 + bidStartTime: 0
  44 + bidEndTime: 0
  45 + bonus: 1000
  46 +# refResources:
  47 +# - id: $refResources_id
  48 +# rType: $rType
  49 +# serialNo: $serialNo
  50 +# title: $title
  51 + isReward: False
  52 + method: POST
  53 + url: /v1/task/taskPublish
  54 +validate:
  55 + - eq:
  56 + - content.code
  57 + - 0
  58 + - eq:
  59 + - content.msg
  60 + - 发布成功
  61 +# - $msg
  1 +name: 搜索引用资源
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + keyword: ${get_serialNo()}
  23 + method: POST
  24 + url: /v1/task/searchResources
  25 +validate:
  26 + - eq:
  27 + - content.code
  28 + - 0
  29 + - eq:
  30 + - content.msg
  31 + - 获取成功
  1 +name: 编辑任务:/v1/task/taskPublish
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + title: API测试任务名称${get_nowtime()}
  10 + content: API测试任务描述${get_nowtime()}
  11 + acceptability: API测试验收标准${get_nowtime()}
  12 + nature_id: 2
  13 + csVals_id13: 13
  14 + csVals_id3: 3
  15 +
  16 + msg: '保存成功'
  17 +request:
  18 + headers:
  19 + Content-Type: application/json;charset=utf-8
  20 + User-Agent: okhttp/3.12.3
  21 + X-MMM-AccessToken: $access_token
  22 + X-MMM-AppName: com.mmm.ability
  23 + X-MMM-AppProject: ability
  24 + X-MMM-DeviceType: '0'
  25 + X-MMM-Sign: $sign
  26 + X-MMM-Timestamp: $currtime
  27 + X-MMM-Uuid: $uuid
  28 + X-MMM-Version: 1.0.0
  29 + json:
  30 + id: $id
  31 + action: 0
  32 + type: 0
  33 + title: $title
  34 + content: $content
  35 + acceptability: $acceptability
  36 + images:
  37 + nature:
  38 + id: $nature_id
  39 + name: 线
  40 + csVals:
  41 + - id: $csVals_id3
  42 + name: 色泽
  43 + - id: $csVals_id13
  44 + name: 账期
  45 + bidStartTime: 0
  46 + bidEndTime: 0
  47 + bonus: 1000
  48 + isReward: False
  49 + method: POST
  50 + url: /v1/task/taskPublish
  51 +validate:
  52 + - eq:
  53 + - content.code
  54 + - 0
  55 + - eq:
  56 + - content.msg
  57 + - 更新成功
  58 +# - $msg
  1 +name: 公司任务(进行中、已完成)
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + pageIndex: 0
  23 + pageSize: 20
  24 + newest: 1
  25 + action: 0
  26 + method: POST
  27 + url: /v1/task/currentTasks
  28 +validate:
  29 + - eq:
  30 + - content.code
  31 + - 0
  32 + - eq:
  33 + - content.msg
  34 + - 获取成功
  1 +name: 公司任务(已完成)
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + pageIndex: 0
  23 + pageSize: 20
  24 + newest: 1
  25 + action: 1
  26 + method: POST
  27 + url: /v1/task/currentTasks
  28 +validate:
  29 + - eq:
  30 + - content.code
  31 + - 0
  32 + - eq:
  33 + - content.msg
  34 + - 获取成功
  1 +name: 公司悬赏任务
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + pageIndex: 0
  23 + pageSize: 20
  24 + method: POST
  25 + url: /v1/task/rewards
  26 +validate:
  27 + - eq:
  28 + - content.code
  29 + - 0
  30 + - eq:
  31 + - content.msg
  32 + - 获取成功
  1 +name: 抢单
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + id: $id
  23 + action: 0
  24 + method: POST
  25 + url: /v1/task/submitCompete
  26 +validate:
  27 + - eq:
  28 + - content.code
  29 + - 0
  30 + - eq:
  31 + - content.msg
  32 + - 抢单成功!
  1 +name: 竞标
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + id: $id
  23 + action: 1
  24 + method: POST
  25 + url: /v1/task/submitCompete
  26 +validate:
  27 + - eq:
  28 + - content.code
  29 + - 0
  30 + - eq:
  31 + - content.msg
  32 + - 获取成功
  1 +name: 任务详情
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + id: $id
  23 + method: POST
  24 + url: /v1/task/taskDetails
  25 +validate:
  26 + - eq:
  27 + - content.code
  28 + - 0
  29 + - eq:
  30 + - content.msg
  31 + - 获取详情成功
  32 +# - $msg
  1 +name: 获取任务数量统计
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + method: POST
  23 + url: /v1/task/taskStatistics
  24 +validate:
  25 + - eq:
  26 + - content.code
  27 + - 0
  28 + - eq:
  29 + - content.msg
  30 + - 获取成功
  31 +# - $msg
  1 +name: 我要验收
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + solveReport: API上传解决报告${get_nowtime()}
  10 +request:
  11 + headers:
  12 + Content-Type: application/json;charset=utf-8
  13 + User-Agent: okhttp/3.12.3
  14 + X-MMM-AccessToken: $access_token
  15 + X-MMM-AppName: com.mmm.ability
  16 + X-MMM-AppProject: ability
  17 + X-MMM-DeviceType: '0'
  18 + X-MMM-Sign: $sign
  19 + X-MMM-Timestamp: $currtime
  20 + X-MMM-Uuid: $uuid
  21 + X-MMM-Version: 1.0.0
  22 + json:
  23 + id: $id
  24 + resourceAwards:
  25 + - id: $refResources_id
  26 + providers:
  27 + - percent: 25
  28 + score: 11.25
  29 + uid: $uid11
  30 + uname: $uname11
  31 + - percent: 25
  32 + score: 11.25
  33 + uid: $uid0
  34 + uname: $uname0
  35 + - percent: 25
  36 + score: 11.25
  37 + uid: $uid1
  38 + uname: $uname1
  39 + - percent: 25
  40 + score: 11.25
  41 + uid: $uid8
  42 + uname: $uname8
  43 + rType: $rType
  44 + serialNo: $serialNo
  45 + title: $title
  46 +# solveImages:
  47 +## - h: 1334
  48 +## isLocal: false
  49 +## lastOneCount: 0
  50 +## path: http://ability-test.fjmaimaimai.com:8899/html/ab/1588952391025416660.jpg
  51 +## w: 750
  52 + solveReport: $solveReport
  53 + taskAwards:
  54 + - bonus: 250
  55 + percent: 25
  56 + uid: $uid11
  57 + uname: $uname11
  58 + - bonus: 250
  59 + percent: 25
  60 + uid: $uid0
  61 + uname: $uname0
  62 + - bonus: 250
  63 + percent: 25
  64 + uid: $uid1
  65 + uname: $uname1
  66 + - bonus: 250
  67 + percent: 25
  68 + uid: $uid8
  69 + uname: $uname8
  70 + method: POST
  71 + url: /v1/task/checkAccept
  72 +validate:
  73 + - eq:
  74 + - content.code
  75 + - 0
  76 + - eq:
  77 + - content.msg
  78 + - 验收成功
  1 +name: 任务关闭
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 + reason: API测试关闭任务理由:${get_nowtime()}
  10 +request:
  11 + headers:
  12 + Content-Type: application/json;charset=utf-8
  13 + User-Agent: okhttp/3.12.3
  14 + X-MMM-AccessToken: $access_token
  15 + X-MMM-AppName: com.mmm.ability
  16 + X-MMM-AppProject: ability
  17 + X-MMM-DeviceType: '0'
  18 + X-MMM-Sign: $sign
  19 + X-MMM-Timestamp: $currtime
  20 + X-MMM-Uuid: $uuid
  21 + X-MMM-Version: 1.0.0
  22 + json:
  23 + id: $id
  24 + reason: $reason
  25 + method: POST
  26 + url: /v1/task/closeTask
  27 +validate:
  28 + - eq:
  29 + - content.code
  30 + - 0
  31 + - eq:
  32 + - content.msg
  33 + - 关闭成功
  34 +# - $msg
  1 +name: 完成任务
  2 +base_url: ${ENV(base_url)}
  3 +verify: False
  4 +variables:
  5 + currtime: ${make_time()}
  6 + uuid: ${make_uuid()}
  7 + access_token: ${get_accesstoken()}
  8 + sign: ${make_sign($currtime, $uuid, $access_token)}
  9 +request:
  10 + headers:
  11 + Content-Type: application/json;charset=utf-8
  12 + User-Agent: okhttp/3.12.3
  13 + X-MMM-AccessToken: $access_token
  14 + X-MMM-AppName: com.mmm.ability
  15 + X-MMM-AppProject: ability
  16 + X-MMM-DeviceType: '0'
  17 + X-MMM-Sign: $sign
  18 + X-MMM-Timestamp: $currtime
  19 + X-MMM-Uuid: $uuid
  20 + X-MMM-Version: 1.0.0
  21 + json:
  22 + id: $id
  23 + method: POST
  24 + url: /v1/task/finishTask
  25 +validate:
  26 + - eq:
  27 + - content.code
  28 + - 0
  29 + - eq:
  30 + - content.msg
  31 + - 完成成功
  1 +eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9zdXBsdXMtYnVzaW5lc3MtYWRtaW4tZ2F0ZXdheS10ZXN0LmZqbWFpbWFpbWFpLmNvbVwvYXV0aFwvcHdkTG9naW4iLCJpYXQiOjE1OTIwNjExNDAsImV4cCI6MTU5MjA3MTk0MCwibmJmIjoxNTkyMDYxMTQwLCJqdGkiOiJzTVB3cXdBZlBLWDNRWlZPIiwic3ViIjozMjQ3MzY2MDExOTEzMjE2LCJwcnYiOiI4N2UwYWYxZWY5ZmQxNTgxMmZkZWM5NzE1M2ExNGUwYjA0NzU0NmFhIiwiY29tcGFueUlkIjozNjYsIm5pY2tuYW1lIjoiXHU1MzVlXHU0ZmUxXHU1MzRlIiwicGhvbmUiOiIxOTk5MDAwMDAwMCIsImlkIjozMjQ3MzY2MDExOTEzMjE2LCJhZG1pblR5cGUiOjJ9.4B6SP6_Atbh18dJTjMX6Q5byg8Rd-C6RCP-Wree0H8I
  1 +KdZiJ6h7ZE6aANNhH7Abzk387EywcMWi
  1 +eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9zdXBsdXMtYnVzaW5lc3MtYWRtaW4tZ2F0ZXdheS10ZXN0LmZqbWFpbWFpbWFpLmNvbVwvYXV0aFwvYW5vbnltb3VzTG9naW4iLCJpYXQiOjE1OTIwNjExNDEsImV4cCI6MTU5MjA3MTk0MSwibmJmIjoxNTkyMDYxMTQxLCJqdGkiOiJtMUpuaWJtTm5IMlhHYkJGIiwic3ViIjozMjQ3MzY2MDExOTEzMjE2LCJwcnYiOiI4N2UwYWYxZWY5ZmQxNTgxMmZkZWM5NzE1M2ExNGUwYjA0NzU0NmFhIiwiY29tcGFueUlkIjozNjYsIm5pY2tuYW1lIjoiXHU1MzVlXHU0ZmUxXHU1MzRlIiwicGhvbmUiOiIxOTk5MDAwMDAwMCIsImlkIjozMjQ3MzY2MDExOTEzMjE2LCJhZG1pblR5cGUiOjJ9.K1VI_o-GAPP9iRTjvKvK2YWPmDNY62a0Hbu9pC8eO3c
  1 +784cb5cdf36b1a12b1e8d70c70d6dd3599f4c8988c66b72d6bb7e9eeac92630581845891
  1 +3679205371953152
  1 +L/E+63yrDwN1Y4ElEIpAVhZN13z2IK6qAQ9phq9p0SKKfxQKaXkT2d23veueiLSxqzc3Md65qlxzrgYq6pqoqcPxLBdjUdTqt4zynqmr3ZzbJJQS1oHMe7Xaj+pIPuZ6NhVhDJLD03eIE1KyD359L7kOWiBKs5suOlnn/GRRKe8=
  1 +3248817613779968
  1 +import json
  2 +import time
  3 +# from helpfunc.db_func import *
  4 +from helpfunc.header_func import *
  5 +from helpfunc.login_func import *
  6 +from helpfunc.business_admin_func import *
  7 +# from helpfunc.time_func import *
  8 +
  9 +import time,datetime,re
  10 +from urllib.parse import *
  11 +
  12 +
  13 +def sleep(n_secs):
  14 + time.sleep(n_secs)
  15 +
  16 +# def get_base_url(env_type="test"):
  17 +# """
  18 +# 根据配置选择运行环境
  19 +# :param env_type:
  20 +# :return:
  21 +# """
  22 +# if env_type == "test":
  23 +# return "https://ability-test.fjmaimaimai.com"
  24 +# else:
  25 +# return "https://ability-prod.fjmaimaimai.com"
  26 +
  27 +def get_nowtime():
  28 + return time.strftime("%Y%m%d%H%M%S",time.localtime(time.time()))
  29 +
  30 +def get_second():
  31 + curr_time = datetime.datetime.now()
  32 + return curr_time.second
  33 +
  34 +# print(u.split("=")[1].rstrip('"'))
  35 +# res = str(re.findall('code=(.+?)$',u))
  36 +
  37 +code='HDU2uFdWCbyA0CHF5%2FQwBPCjFv2DO%2FoHxRTS7e6FhOBLaYpL%2B%2FUiJmZMkzz87EoekMbqAKfPO0ga4nIP2NvEq5MJcFPmM%2Bp3G3pPDM3d530DbNjM0BdAc7YuUTON0SV%2Bz%2Fiq14YrJxTVHcNeX8VTm7ndWgx7ZxjLpZbhfSWMus4%3D'
  38 +
  39 +# print(unquote(code))
  1 +#! /usr/bin/env python
  2 +# -*- coding: utf-8 -*-
  3 +# Date: 2020/4/9 11:23
  4 +# @Author:bxh
  5 +# @file: __init__.py.py
  1 +#! /usr/bin/env python
  2 +# -*- coding: utf-8 -*-
  3 +# Date: 2020/5/28 23:13
  4 +# @Author:bxh
  5 +# @file: usiness_admin_func.py
  6 +
  7 +import json
  8 +from urllib.parse import *
  9 +
  10 +
  11 +path = 'E:/mmm_auto/ability_api/'
  12 +
  13 +def teardown_hook_get_Authorization(response):
  14 + if response.status_code == 200:
  15 + jsondata = json.loads(response.text)
  16 + Authorization =jsondata['data']['access']['token']
  17 + try:
  18 + # 保存token到文件
  19 + with open(path + 'config/Authorization.txt','w+') as f:
  20 + f.write(Authorization)
  21 + print('写入成功,Authorization:{}'.format(Authorization))
  22 + f.close()
  23 + except Exception as e:
  24 + print('写入失败', e)
  25 + return Authorization
  26 +
  27 +def teardown_hook_get_access_token(response):
  28 + if response.status_code == 200:
  29 + jsondata = json.loads(response.text)
  30 + access_token =jsondata['data']['access']['token']
  31 + try:
  32 + # 保存token到文件
  33 + with open(path + 'config/access_token.txt','w+') as f:
  34 + f.write(access_token)
  35 + print('写入成功,access_token:{}'.format(access_token))
  36 + f.close()
  37 + except Exception as e:
  38 + print('写入失败', e)
  39 + return access_token
  40 +
  41 +def teardown_hook_get_login_code(response):
  42 + if response.status_code == 200:
  43 + jsondata = json.loads(response.text)
  44 + login_code =jsondata['data']['list'][2]['url']
  45 + res = login_code.split("=")[1].rstrip('"')
  46 + res = unquote(res)
  47 +
  48 + try:
  49 + # 保存token到文件
  50 + with open(path + 'config/login_code.txt','w+') as f:
  51 + f.write(res)
  52 + print('写入成功,res:{}'.format(res))
  53 + f.close()
  54 + except Exception as e:
  55 + print('写入失败', e)
  56 + return res
  57 +
  58 +def get_Authorization():
  59 + try:
  60 + # 保存token到文件
  61 + with open(path + "config/Authorization.txt", 'r') as f:
  62 + Authorization = f.read()
  63 + print('读取成功,Authorization:{}'.format(Authorization))
  64 + except Exception as e:
  65 + print('读取失败', e)
  66 + # Authorization = str(Authorization)
  67 + return Authorization
  68 +
  69 +def get_access_token():
  70 + try:
  71 + # 保存token到文件
  72 + with open(path + "config/access_token.txt", 'r') as f:
  73 + access_token = f.read()
  74 + print('读取成功,access_token:{}'.format(access_token))
  75 + except Exception as e:
  76 + print('读取失败', e)
  77 + # Authorization = str(Authorization)
  78 + return access_token
  79 +
  80 +def get_login_code():
  81 + try:
  82 + # 保存token到文件
  83 + with open(path + "config/login_code.txt", 'r') as f:
  84 + login_code = f.read()
  85 + print('读取成功,access_token:{}'.format(login_code))
  86 + except Exception as e:
  87 + print('读取失败', e)
  88 + # Authorization = str(Authorization)
  89 + return login_code
  90 +
  1 +# @Time :2019/11/26 11:25
  2 +# @Author :dengyuting
  3 +# @File :db_func.py
  4 +import pymysql
  5 +
  6 +db_config ={"host": "115.29.205.99",
  7 + "port": 3306,
  8 + "user": "shiqiurong",
  9 + "password": "QGaBlwXT123dfvc7ip",
  10 + "db": "ability_display",
  11 + "charset": 'utf8'}
  12 +
  13 +def setup_hook_clean_db():
  14 + """
  15 + 初始化时清理数据库中的历史数据
  16 + :return:
  17 + """
  18 + db = pymysql.connect(**db_config)
  19 + cursor = db.cursor()
  20 + try:
  21 + #删除评论
  22 + cursor.execute("delete d from comment d LEFT JOIN comment a on d.id=a.cid LEFT JOIN question b on a.id = b.id LEFT JOIN departments c on b.relevantDepartmentId =c.id where c.company_id =42 and c.enabled = 1")
  23 + cursor.execute("delete d from comment d LEFT JOIN solution a on d.id=a.id LEFT JOIN question b on a.qid = b.id LEFT JOIN departments c on b.relevantDepartmentId =c.id where c.company_id =42 and c.enabled = 1")
  24 + cursor.execute("delete d from comment d LEFT JOIN question a on d.id =a.id LEFT JOIN departments b on a.relevantDepartmentId =b.id where b.company_id =42 and b.enabled = 1")
  25 + #删除解决方案
  26 + cursor.execute("delete a from solution a LEFT JOIN question b on a.qid=b.id LEFT JOIN departments c on b.relevantDepartmentId=c.id where c.company_id =42 and c.enabled = 1")
  27 + #删除问题
  28 + cursor.execute("delete a from question a LEFT JOIN departments b on a.relevantDepartmentId=b.id where b.company_id =42 and b.enabled = 1")
  29 + #删除用户消息表
  30 + cursor.execute("delete a from user_msg a LEFT JOIN user_info b on a.uid=b.uid where b.company_id=42")
  31 + # 删除用户星数变动表
  32 + cursor.execute("delete a from user_score_change a LEFT JOIN user_info b on a.uid=b.uid where b.company_id=42")
  33 + # 删除用户解决申请表
  34 + cursor.execute("delete from user_question_solve where uid in (select uid from user_info where company_id=42)")
  35 + # 删除质疑表
  36 + cursor.execute("delete from doubt where company_id=42")
  37 + # 删除额外加分表
  38 + cursor.execute("delete from bonus_point where company_id=42")
  39 + # 删除公告表
  40 + cursor.execute("delete from bulletin where company_id=42")
  41 + # 删除表彰管理表
  42 + cursor.execute("delete from commend where company_id=42")
  43 + # 删除用户消息表
  44 + cursor.execute("delete from user_msg where uid in (select uid from user_info where company_id=42)")
  45 + # 删除用户同感表
  46 + cursor.execute("delete from user_sympathy where uid in (select uid from user_info where company_id=42)")
  47 + # 删除问题标记表
  48 + cursor.execute("delete from question_marks where uid in (select uid from user_info where company_id=42)")
  49 + # 删除问题标记结果表
  50 + cursor.execute("delete from question_marks_result where uid in (select uid from user_info where company_id=42)")
  51 + # 删除用户提交表
  52 + cursor.execute("delete from user_commit where uid in (select uid from user_info where company_id=42)")
  53 + # 删除问题提交表
  54 + cursor.execute("delete a from question_commit a LEFT JOIN user_commit b on a.commitId =b.id LEFT JOIN user_info c on b.uid =c.uid where c.company_id =42")
  55 + db.commit()
  56 + print("delete OK")
  57 + except:
  58 + # 发生错误时回滚
  59 + db.rollback()
  60 + db.close()
  61 +
  62 +def get_solveid(qid):
  63 + #根据问题id,查询相应的解决申请表id
  64 + db = pymysql.connect(**db_config)
  65 + cursor = db.cursor()
  66 + try:
  67 + cursor.execute('select id from user_question_solve where qid = %s',qid)
  68 + result = cursor.fetchone()
  69 + id = result[0]
  70 + return id
  71 + except:
  72 + # 发生错误时回滚
  73 + db.rollback()
  74 + db.close()
  1 +# @Time :2019/11/26 11:24
  2 +# @Author :dengyuting
  3 +# @File :header_func.py
  4 +import hashlib
  5 +import time
  6 +import uuid
  7 +
  8 +
  9 +def make_time():
  10 + """
  11 + 生成当前时间戳
  12 + """
  13 + return str(round(time.time() * 1000))
  14 +
  15 +def make_uuid():
  16 + """
  17 + 基于MAC地址,时间戳,随机数来生成唯一的uuid,可以保证全球范围内的唯一性
  18 + """
  19 + return str(uuid.uuid1())
  20 +
  21 +def make_sign(currtime, uuid, accessstoken):
  22 + """
  23 + 生成签名
  24 + :param currtime:
  25 + :param uuid:
  26 + :param accessstoken:
  27 + :return:
  28 + """
  29 + sign = 'v!(MmM' + currtime + uuid + accessstoken + 'MmM)i^'
  30 + sign = hashlib.sha256(sign.encode("utf-8"))
  31 + encrypts = sign.hexdigest()
  32 + return encrypts
  1 +#! /usr/bin/env python
  2 +# -*- coding: utf-8 -*-
  3 +# Date: 2020/4/9 11:36
  4 +# @Author:bxh
  5 +# @file: login_func.py
  6 +import json
  7 +import time,datetime
  8 +path = 'E:/ability_api/'
  9 +def teardown_hook_sleep_N_secs(response,n_secs):
  10 + """ sleep n seconds after request """
  11 + if response.status_code == 200:
  12 + time.sleep(0.3)
  13 + else:
  14 + time.sleep(n_secs)
  15 +
  16 +def teardown_hook_get_cuid(response):
  17 + if response.status_code == 200:
  18 + jsondata = json.loads(response.text)
  19 + cuid =str(jsondata['data']['cuid'])
  20 +
  21 + try:
  22 +
  23 + with open(path + 'config/cuid.csv','w+') as f:
  24 + f.write(cuid)
  25 + print('写入成功,cuid:{}'.format(cuid))
  26 + f.close()
  27 + except Exception as e:
  28 + print('写入失败', e)
  29 + return cuid
  30 +
  31 +def teardown_hook_get_serialNo(response):
  32 + if response.status_code == 200:
  33 + jsondata = json.loads(response.text)
  34 + serialno =str(jsondata['data']['question']['serialNo'])
  35 +
  36 + try:
  37 +
  38 + with open(path + 'config/serialNo.csv','w+') as f:
  39 + f.write(serialno)
  40 + print('写入成功,serialno:{}'.format(serialno))
  41 + f.close()
  42 + except Exception as e:
  43 + print('写入失败', e)
  44 + return serialno
  45 +
  46 +def teardown_hook_get_accesstoken(response):
  47 + if response.status_code == 200:
  48 + jsondata = json.loads(response.text)
  49 + access_token =jsondata['data']['accessToken']
  50 + try:
  51 + # 保存token到文件
  52 + with open(path + 'config/accessToken.csv','w+') as f:
  53 + f.write(access_token)
  54 + print('写入成功,access_token:{}'.format(access_token))
  55 + f.close()
  56 + except Exception as e:
  57 + print('写入失败', e)
  58 + return access_token
  59 +
  60 +def teardown_hook_get_authcode(response):
  61 + if response.status_code ==200:
  62 + jsondata = json.loads(response.text)
  63 + auth_code = jsondata['data']['authCode']
  64 + try:
  65 +
  66 + with open(path + "config/authCode.csv", 'w+') as f:
  67 + f.write(auth_code)
  68 + print('写入成功,authCode:{}'.format(auth_code))
  69 + except Exception as e:
  70 + print('写入失败', e)
  71 + return auth_code
  72 +
  73 +def get_authcode():
  74 + try:
  75 + with open(path + "config/authCode.csv", 'r') as f:
  76 + auth_code = f.read()
  77 + print('读取成功,authCode:{}'.format(auth_code))
  78 + except Exception as e:
  79 + print('读取失败', e)
  80 + auth_code = str(auth_code)
  81 + return auth_code
  82 +
  83 +def get_accesstoken():
  84 + try:
  85 + # 保存token到文件
  86 + with open(path + "config/accessToken.csv", 'r') as f:
  87 + accesstoken = f.read()
  88 + print('读取成功,accesstoken:{}'.format(accesstoken))
  89 + except Exception as e:
  90 + print('读取失败', e)
  91 + accesstoken = str(accesstoken)
  92 + return accesstoken
  93 +
  94 +def get_serialNo():
  95 + try:
  96 + with open(path + "config/serialNo.csv", 'r') as f:
  97 + serialno = f.read()
  98 + print('读取成功,serialno:{}'.format(serialno))
  99 + except Exception as e:
  100 + print('读取失败', e)
  101 + serialno = str(serialno)
  102 + return serialno
  103 +
  104 +def get_cuid():
  105 + try:
  106 + with open(path + "config/cuid.csv", 'r') as f:
  107 + cuid = f.read()
  108 + print('读取成功,cuid:{}'.format(cuid))
  109 + except Exception as e:
  110 + print('读取失败', e)
  111 + cuid = str(cuid)
  112 + return cuid
  113 +
  114 +def get_credentials():
  115 + try:
  116 + with open(path + "config/credentials.csv", 'r') as f:
  117 + credentials = f.read()
  118 + print('读取成功,credentials:{}'.format(credentials))
  119 + except Exception as e:
  120 + print('读取失败', e)
  121 + credentials = str(credentials)
  122 + return credentials
  123 +
  124 +def get_muid():
  125 + try:
  126 + with open(path + "config/muid.csv", 'r') as f:
  127 + muid = f.read()
  128 + print('读取成功,muid:{}'.format(muid))
  129 + except Exception as e:
  130 + print('读取失败', e)
  131 + muid = str(muid)
  132 + return muid
  133 +
  134 +def get_cid():
  135 + try:
  136 + with open(path + "config/cid.csv", 'r') as f:
  137 + cid = f.read()
  138 + print('读取成功,muid:{}'.format(cid))
  139 + except Exception as e:
  140 + print('读取失败', e)
  141 + cid = str(cid)
  142 + return cid
  143 +
  144 +t =datetime.datetime.now()
  145 +def get_bidStartTime():
  146 + #当前日期
  147 + t1 = t.strftime('%Y-%m-%d 00:00:00')
  148 + # #转为秒级时间戳
  149 + # bidStartTime = time.mktime(time.strptime(t1, '%Y-%m-%d %H:%M:%S'))
  150 + # #转为毫秒级
  151 + # bidStartTime = str(bidStartTime*1000).split(".")[0]
  152 + return t1
  153 +
  154 +def get_bidEndTime():
  155 + # 1天后
  156 + bidEndTime = (t + datetime.timedelta(days=1)).strftime("%Y-%m-%d 00:00:00")
  157 +
  158 + return bidEndTime
  159 +
  160 +def teardown_hook_get_credentials(response):
  161 + if response.status_code == 200:
  162 + jsondata = json.loads(response.text)
  163 + credentials =str(jsondata['data']['credentials'])
  164 +
  165 + try:
  166 +
  167 + with open(path + 'config/credentials.csv','w+') as f:
  168 + f.write(credentials)
  169 + print('写入成功,credentials:{}'.format(credentials))
  170 + f.close()
  171 + except Exception as e:
  172 + print('写入失败', e)
  173 + return credentials
  174 +
  175 +def teardown_hook_get_muid(response):
  176 + if response.status_code == 200:
  177 + jsondata = json.loads(response.text)
  178 + muid =str(jsondata['data']['companys'][0]['muid'])
  179 +
  180 + try:
  181 +
  182 + with open(path + 'config/muid.csv','w+') as f:
  183 + f.write(muid)
  184 + print('写入成功,muid:{}'.format(muid))
  185 + f.close()
  186 + except Exception as e:
  187 + print('写入失败', e)
  188 + return muid
  189 +
  190 +def teardown_hook_get_cid(response):
  191 + if response.status_code == 200:
  192 + jsondata = json.loads(response.text)
  193 + cid =str(jsondata['data']['companys'][0]['cid'])
  194 +
  195 + try:
  196 +
  197 + with open(path + 'config/cid.csv','w+') as f:
  198 + f.write(cid)
  199 + print('写入成功,muid:{}'.format(cid))
  200 + f.close()
  201 + except Exception as e:
  202 + print('写入失败', e)
  203 + return cid
  1 +requests
  2 +httprunner
  3 +paramiko
  4 +pymysql
  1 +#! /usr/bin/env python
  2 +# -*- coding: utf-8 -*-
  3 +# Date: 2020/4/12 19:13
  4 +# @Author:bxh
  5 +# @file: run.py
  6 +from httprunner.api import HttpRunner
  7 +from httprunner.report import gen_html_report
  8 +
  9 +runner = HttpRunner(failfast=False, log_level='INFO')
  10 +
  11 +runner.run('testsuites/')
  12 +gen_html_report(runner._summary, report_template="templates/ext_reports_template.html")
  1 +# @Time :2019/12/4 9:37
  2 +# @Author :dengyuting
  3 +# @File :sendmsg.py
  4 +import json
  5 +
  6 +import requests
  7 +import os
  8 +
  9 +"""
  10 +jenkins通知测试执行结果
  11 +"""
  12 +
  13 +JENKINS_URL = str(os.getenv("JENKINS_URL"))
  14 +BUILD_NUMBER = str(os.getenv("BUILD_NUMBER"))
  15 +JOB_NAME = str(os.getenv("JOB_NAME"))
  16 +CAUSE = str(os.getenv("CAUSE"))
  17 +BUILD_URL = str(os.getenv("BUILD_URL"))
  18 +JOB_URL = str(os.getenv("JOB_URL"))
  19 +
  20 +path = os.path.dirname(__file__)
  21 +summary_file = os.path.join(path, 'logs','testsuites','ability_suites.summary.json')
  22 +
  23 +def getresult():
  24 + try:
  25 + with open(summary_file, 'r') as f:
  26 + f = f.read()
  27 + jsonfile = json.loads(f)
  28 + if jsonfile["success"] == True:
  29 + result = "SUCCESS"
  30 + else:
  31 + result = "FAIL"
  32 + total = jsonfile["stat"]["testcases"]["total"]
  33 + success = jsonfile["stat"]["testcases"]["success"]
  34 + fail = jsonfile["stat"]["testcases"]["fail"]
  35 + duration = round(jsonfile["time"]["duration"])
  36 + # teststeps_total = jsonfile["stat"]["teststeps"]["total"]
  37 + # teststeps_successes = jsonfile["stat"]["teststeps"]["successes"]
  38 + # teststeps_failures = jsonfile["stat"]["teststeps"]["failures"]
  39 + # teststeps_errors = jsonfile["stat"]["teststeps"]["errors"]
  40 + # teststeps_skipped = jsonfile["stat"]["teststeps"]["skipped"]
  41 + return result, total, success, fail, duration
  42 + except Exception as err:
  43 + print("this is err:{}" .format(err))
  44 +
  45 +
  46 +
  47 +def sendinfo():
  48 + r =getresult()
  49 + print(type(r))
  50 + data = {}
  51 + data['msgtype'] = 'text'
  52 + data['text'] = {}
  53 + data['text']['content'] = '【'+JOB_NAME+'】\n 测试执行结果:'+r[0]+ \
  54 + '\n 执行时间:' +str(r[4])+ \
  55 + 's\n TOTAL:' +str(r[1]) +'\n SUCCESS:' +str(r[2])+ '\n FAIL:' +str(r[3])+ \
  56 + '\n 查看控制台:' +BUILD_URL+'console \n 测试报告地址:' +JOB_URL+'Ability_20Test_20Report/ \n'
  57 + # data['text']['mentioned_mobile_list'] = ["13559112969","@all"]
  58 +
  59 + url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b8028a75-89ff-4dc4-a1a7-6d8e3fd44552'
  60 + headers = {'Content-Type': 'application/json'}
  61 +
  62 + requests.post(url, json=data, headers=headers)
  63 +
  64 +if __name__ == '__main__':
  65 + sendinfo()
  66 +
  67 +
  1 +config:
  2 + name: 账号登录测试
  3 + base_url: ${ENV(base_business_url)}
  4 +
  5 +teststeps:
  6 +- name: 登录企业平台
  7 + api: api/business_admin_api/login_api/auth/pwdLogin_api.yml
  8 + variables:
  9 + phone: ${ENV(adminphone)}
  10 + teardown_hooks:
  11 + - ${teardown_hook_get_Authorization($response)}
  12 + varidate:
  13 + validate:
  14 + - eq:
  15 + - content.msg
  16 + - ok
  17 +- name: 用户的公司列表
  18 + output:
  19 + - companyId
  20 + api: api/business_admin_api/login_api/auth/userCompamies_api.yml
  21 + extract:
  22 + companyId: content.data.company.0.id
  23 + validate:
  24 + - eq:
  25 + - content.msg
  26 + - ok
  27 + - eq:
  28 + - content.data.company.0.id
  29 + - $companyId
  30 +- name: 登录公司
  31 + api: api/business_admin_api/login_api/auth/anonymousLogin_api.yml
  32 + teardown_hooks:
  33 + - ${teardown_hook_get_access_token($response)}
  34 + varidate:
  35 + validate:
  36 + - eq:
  37 + - content.msg
  38 + - ok
  39 +
  40 +- name: 登录列表
  41 + api: api/business_admin_api/login_api/auth/getSingleLoginMenus_api.yml
  42 + teardown_hooks:
  43 + - ${teardown_hook_get_login_code($response)}
  44 + varidate:
  45 + validate:
  46 + - eq:
  47 + - content.msg
  48 + - ok
  49 +
  50 +- name: 登录价值系统
  51 + api: api/business_admin_api/login_api/auth/login_api.yml
  52 +# teardown_hooks:
  53 +# - ${teardown_hook_get_login_code($response)}
  54 + varidate:
  55 + validate:
  56 + - eq:
  57 + - content.msg
  58 + - ok
  59 +
  1 +config:
  2 + name: 账号登录测试
  3 + base_url: ${ENV(base_url)}
  4 +
  5 +teststeps:
  6 +- name: 登录统一用户中心
  7 + api: api/app_api/login_api/auth/ucenter_login_api.yml
  8 + teardown_hooks:
  9 + - ${teardown_hook_get_cuid($response)}
  10 + - ${teardown_hook_get_credentials($response)}
  11 + - ${teardown_hook_get_muid($response)}
  12 + - ${teardown_hook_get_cid($response)}
  13 + variables:
  14 + phone: ${ENV(pfphone)}
  15 + varidate:
  16 + validate:
  17 + - eq:
  18 + - content.msg
  19 + - ok
  20 +- name: 登录app系统
  21 + api: api/app_api/login_api/auth/authorize_api.yml
  22 + teardown_hooks:
  23 + - ${teardown_hook_get_authcode($response)}
  24 + varidate:
  25 + validate:
  26 + - eq:
  27 + - content.msg
  28 + - 登录成功accessToken
  29 +- name: 获取accessToken
  30 + api: api/app_api/login_api/auth/accessToken_api.yml
  31 + teardown_hooks:
  32 + - ${teardown_hook_get_accesstoken($response)}
  33 + varidate:
  34 + validate:
  35 + - eq:
  36 + - content.msg
  37 + - 获取成功
  38 +
  39 +#- name: 获取用户信息
  40 +# api: api/app_api/user_api/userInfo_api.yml
  41 +# varidate:
  42 +# validate:
  43 +# - eq:
  44 +# - content.msg
  45 +# - 获取用户信息
  46 +#
  47 +#- name: 获取BOSS足迹
  48 +# api: api/app_api/question_api/bossFootprints_api.yml
  49 +# varidate:
  50 +# validate:
  51 +# - eq:
  52 +# - content.msg
  53 +# - 获取BOSS足迹成功
  54 +#
  55 +#- name: 消息数量统计(首页、个人中心)
  56 +# api: api/app_api/message_api/msgstatistics_api.yml
  57 +# varidate:
  58 +# validate:
  59 +# - eq:
  60 +# - content.msg
  61 +# - 获取统计信息成功
  62 +#
  63 +#- name: 公告列表
  64 +# api: api/app_api/message_api/msgannouncements_api.yml
  65 +# varidate:
  66 +# validate:
  67 +# - eq:
  68 +# - content.msg
  69 +# - 获取公告信息成功
  70 +#
  1 +config:
  2 + name: QX001:评分权限人员-审核问题-查看问题-权限校验42
  3 +
  4 +
  5 +teststeps:
  6 +
  7 +- name: 19990000008提出问题
  8 + testcase: testcases/question/add_question.yml
  9 +
  10 +- name: 有评分权限19990000011登录系统
  11 + variables:
  12 + phone: ${ENV(pfphone)}
  13 + testcase: testcases/login_testcases.yml
  14 +
  15 +- name: 19990000011查看待我审核
  16 + output:
  17 + - qid
  18 + api: api/app_api/question_api/audits_ireview_api.yml
  19 + extract:
  20 + qid: content.data.questions.-1.id
  21 + validate:
  22 + - eq:
  23 + - content.data.questions.-1.id
  24 + - $qid
  25 +
  26 +- name: 19990000011审核问题
  27 + api: api/app_api/question_api/auditquestion_api.yml
  28 +
  29 +- name: 19990000011查看问题详情
  30 + api: api/app_api/question_api/questiondetail_api.yml
  31 + teardown_hooks:
  32 + - ${teardown_hook_get_serialNo($response)}
  33 +# validate:
  34 +# - eq:
  35 +# - content.data.question.serialNo
  36 +# - $serialno
  37 +
  38 +- name: 19990000011申请解决问题
  39 + api: api/app_api/question_api/applyForQuestions_api.yml
  40 +#
  41 +#- name: 19990000011查看问题详情
  42 +# api: api/app_api/question_api/questiondetail_api.yml
  43 +# validate:
  44 +# - eq:
  45 +# - content.data.question.permission
  46 +# - 42
  47 +
  48 +
  1 +config:
  2 + name: QX002:同级别评分权限人员-查看问题-权限校验21
  3 +# #清理数据
  4 +# teardown_hooks:
  5 +# - ${teardown_hook_clean_db()}
  6 +# - ${teardown_hook_sleep_N_secs($response,2)}
  7 +
  8 +teststeps:
  9 +
  10 +- name: 19990000008提出问题
  11 + testcase: testcases/question/add_question.yml
  12 +
  13 +- name: 有评分权限19990000011登录系统
  14 + variables:
  15 + phone: ${ENV(pfphone)}
  16 + testcase: testcases/login_testcases.yml
  17 +
  18 +- name: 有评分权限19990000011查看待我审核
  19 + output:
  20 + - qid
  21 + api: api/app_api/question_api/audits_ireview_api.yml
  22 + extract:
  23 + qid: content.data.questions.0.id
  24 + validate:
  25 + - eq:
  26 + - content.data.questions.0.id
  27 + - $qid
  28 +#
  29 +#- name: 有评分权限18200000005审核问题
  30 +# api: api/question_api/auditquestion_api.yml
  31 +#
  32 +#- name: 同级别有评分权限18200000007登录系统
  33 +# variables:
  34 +# currtime: ${make_time()}
  35 +# uuid: ${make_uuid()}
  36 +# access_token: ''
  37 +# sign: ${make_sign($currtime, $uuid,$access_token)}
  38 +# phone: ${ENV(pfphone1)}
  39 +# testcase: testcases/login_testcases.yml
  40 +#
  41 +#- name: 同级别评分权限18200000007查看问题详情
  42 +# api: api/question_api/questiondetail_api.yml
  43 +# validate:
  44 +# - eq:
  45 +# - content.data.question.permission
  46 +# - 21
  47 +
  48 +
  1 +config:
  2 + name: QX003:高级别评分权限人员-查看问题-权限校验42
  3 +# #清理数据
  4 +# teardown_hooks:
  5 +# - ${teardown_hook_clean_db()}
  6 +# - ${teardown_hook_sleep_N_secs($response,2)}
  7 +
  8 +teststeps:
  9 +
  10 +- name: 18100000004提出问题
  11 + testcase: testcases/question/add_question.yml
  12 +
  13 +- name: 有评分权限18200000005登录系统
  14 + variables:
  15 + currtime: ${make_time()}
  16 + uuid: ${make_uuid()}
  17 + access_token: ''
  18 + sign: ${make_sign($currtime, $uuid,$access_token)}
  19 + phone: ${ENV(pfphone)}
  20 + testcase: testcases/login_testcases.yml
  21 +
  22 +- name: 有评分权限18200000005查看待我审核
  23 + output:
  24 + - qid
  25 + api: api/question_api/audits_api.yml
  26 + extract:
  27 + qid: content.data.questions.0.id
  28 + validate:
  29 + - eq:
  30 + - content.data.questions.0.id
  31 + - $qid
  32 +
  33 +- name: 有评分权限18200000005审核问题
  34 + api: api/question_api/auditquestion_api.yml
  35 +
  36 +- name: 高级别有评分权限18200000002登录系统
  37 + variables:
  38 + currtime: ${make_time()}
  39 + uuid: ${make_uuid()}
  40 + access_token: ''
  41 + sign: ${make_sign($currtime, $uuid,$access_token)}
  42 + phone: ${ENV(pflevelhighphone)}
  43 + testcase: testcases/login_testcases.yml
  44 +
  45 +- name: 高级别评分权限18200000002查看问题详情
  46 + api: api/question_api/questiondetail_api.yml
  47 + validate:
  48 + - eq:
  49 + - content.data.question.permission
  50 + - 42
  51 +
  52 +
  1 +config:
  2 + name: QX004:无评分权限人员-查看问题-权限校验21
  3 +# #清理数据
  4 +# teardown_hooks:
  5 +# - ${teardown_hook_clean_db()}
  6 +# - ${teardown_hook_sleep_N_secs($response,2)}
  7 +
  8 +teststeps:
  9 +
  10 +- name: 18100000004提出问题
  11 + testcase: testcases/question/add_question.yml
  12 +
  13 +- name: 有评分权限18200000005登录系统
  14 + variables:
  15 + currtime: ${make_time()}
  16 + uuid: ${make_uuid()}
  17 + access_token: ''
  18 + sign: ${make_sign($currtime, $uuid,$access_token)}
  19 + phone: ${ENV(pfphone)}
  20 + testcase: testcases/login_testcases.yml
  21 +
  22 +- name: 18200000005查看待我审核
  23 + output:
  24 + - qid
  25 + api: api/question_api/audits_api.yml
  26 + extract:
  27 + qid: content.data.questions.0.id
  28 + validate:
  29 + - eq:
  30 + - content.data.questions.0.id
  31 + - $qid
  32 +
  33 +- name: 18200000005审核问题
  34 + api: api/question_api/auditquestion_api.yml
  35 +
  36 +- name: 无评分权限18200000004登录系统
  37 + variables:
  38 + currtime: ${make_time()}
  39 + uuid: ${make_uuid()}
  40 + access_token: ''
  41 + sign: ${make_sign($currtime, $uuid,$access_token)}
  42 + phone: ${ENV(ckphone)}
  43 + testcase: testcases/login_testcases.yml
  44 +
  45 +- name: 无评分权限18200000004查看问题详情
  46 + api: api/question_api/questiondetail_api.yml
  47 + validate:
  48 + - eq:
  49 + - content.data.question.permission
  50 + - 21
  51 +
  52 +
  1 +config:
  2 + name: QX005:无评分权限人员-查看方案-权限校验1
  3 +
  4 +teststeps:
  5 +
  6 +- name: 评分权限人员18200000005查看问题-审核问题
  7 + output:
  8 + - qid
  9 + testcase: testcases/permission/ques_pf_permission/QX001_pf_permission.yml
  10 + extract:
  11 + qid: content.data.questions.0.id
  12 +
  13 +- name: 评分权限人员18200000005我来分析
  14 + api: api/question_api/solution_api.yml
  15 + extract:
  16 + sid: content.data.solution.id
  17 +
  18 +- name: 无评分权限18200000004登录系统
  19 + variables:
  20 + currtime: ${make_time()}
  21 + uuid: ${make_uuid()}
  22 + access_token: ''
  23 + sign: ${make_sign($currtime, $uuid,$access_token)}
  24 + phone: ${ENV(ckphone)}
  25 + testcase: testcases/login_testcases.yml
  26 +
  27 +- name: 无评分权限人员18200000004查看方案权限
  28 + api: api/question_api/solutiondetails_api.yml
  29 + validate:
  30 + - eq:
  31 + - content.data.solution.permission
  32 + - 1
  33 +
  34 +
  35 +
  1 +config:
  2 + name: QX006:评分权限人员不能给自己提出的备选方案评分-权限校验1
  3 +# #清理数据
  4 +# teardown_hooks:
  5 +# - ${teardown_hook_clean_db()}
  6 +# - ${teardown_hook_sleep_N_secs($response,2)}
  7 +
  8 +teststeps:
  9 +
  10 +- name: 评分权限人员18200000005查看问题-审核问题
  11 + output:
  12 + - qid
  13 + testcase: testcases/permission/ques_pf_permission/QX001_pf_permission.yml
  14 + extract:
  15 + qid: content.data.questions.0.id
  16 +
  17 +- name: 评分权限人员18200000005我来分析
  18 + api: api/question_api/solution_api.yml
  19 + extract:
  20 + sid: content.data.solution.id
  21 +
  22 +- name: 评分权限人员18200000005查看方案权限
  23 + api: api/question_api/solutiondetails_api.yml
  24 + validate:
  25 + - eq:
  26 + - content.data.solution.permission
  27 + - 1
  28 +
  29 +
  30 +
  1 +config:
  2 + name: QX007:已评分过的备选方案,同级别评分权限人员-查看方案-权限校验1
  3 +
  4 +teststeps:
  5 +
  6 +- name: 评分权限人员18200000005查看问题-审核问题
  7 + output:
  8 + - qid
  9 + testcase: testcases/permission/ques_pf_permission/QX001_pf_permission.yml
  10 + extract:
  11 + qid: content.data.questions.0.id
  12 +
  13 +- name: 评分权限人员18200000005我来分析
  14 + api: api/question_api/solution_api.yml
  15 + extract:
  16 + sid: content.data.solution.id
  17 +
  18 +- name: 有评分权限18200000002登录系统
  19 + variables:
  20 + currtime: ${make_time()}
  21 + uuid: ${make_uuid()}
  22 + access_token: ''
  23 + sign: ${make_sign($currtime, $uuid,$access_token)}
  24 + phone: ${ENV(pflevelhighphone)}
  25 + testcase: testcases/login_testcases.yml
  26 +
  27 +- name: 有评分权限18200000002查看问题详情
  28 + api: api/question_api/questiondetail_api.yml
  29 +
  30 +- name: 有评分权限18200000002查看备选方案详情
  31 + output:
  32 + - sid
  33 + api: api/question_api/alternatives_api.yml
  34 + extract:
  35 + sid: content.data.solutions.0.id
  36 +
  37 +#- name: 有评分权限18200000002查看方案权限
  38 +# api: api/question_api/solutiondetails_api.yml
  39 +
  40 +- name: 有评分权限18200000002评分
  41 + api: api/question_api/scoreanalyze_api.yml
  42 +
  43 +- name: 同级别有评分权限18200001002登录系统
  44 + variables:
  45 + currtime: ${make_time()}
  46 + uuid: ${make_uuid()}
  47 + access_token: ''
  48 + sign: ${make_sign($currtime, $uuid,$access_token)}
  49 + phone: ${ENV(pflevelhighphone1)}
  50 + testcase: testcases/login_testcases.yml
  51 +
  52 +- name: 同级别有评分权限18200001002查看方案权限
  53 + api: api/question_api/solutiondetails_api.yml
  54 + validate:
  55 + - eq:
  56 + - content.data.solution.permission
  57 + - 1
  58 +
  59 +
  1 +config:
  2 + name: QX008:已评分过的备选方案,高级别评分权限人员-查看方案-权限校验2
  3 +
  4 +teststeps:
  5 +
  6 +- name: 评分权限人员18200000005查看问题-审核问题
  7 + output:
  8 + - qid
  9 + testcase: testcases/permission/ques_pf_permission/QX001_pf_permission.yml
  10 + extract:
  11 + qid: content.data.questions.0.id
  12 +
  13 +- name: 评分权限人员18200000005我来分析
  14 + api: api/question_api/solution_api.yml
  15 + extract:
  16 + sid: content.data.solution.id
  17 +
  18 +- name: 有评分权限18200000007登录系统
  19 + variables:
  20 + currtime: ${make_time()}
  21 + uuid: ${make_uuid()}
  22 + access_token: ''
  23 + sign: ${make_sign($currtime, $uuid,$access_token)}
  24 + phone: ${ENV(pfphone1)}
  25 + testcase: testcases/login_testcases.yml
  26 +
  27 +- name: 有评分权限18200000007查看问题详情
  28 + api: api/question_api/questiondetail_api.yml
  29 +
  30 +- name: 有评分权限18200000007查看备选方案详情
  31 + output:
  32 + - sid
  33 + api: api/question_api/alternatives_api.yml
  34 + extract:
  35 + sid: content.data.solutions.0.id
  36 +
  37 +- name: 有评分权限18200000007评分
  38 + api: api/question_api/scoreanalyze_api.yml
  39 +
  40 +- name: 高级别有评分权限18200000002登录系统
  41 + variables:
  42 + currtime: ${make_time()}
  43 + uuid: ${make_uuid()}
  44 + access_token: ''
  45 + sign: ${make_sign($currtime, $uuid,$access_token)}
  46 + phone: ${ENV(pflevelhighphone)}
  47 + testcase: testcases/login_testcases.yml
  48 +
  49 +- name: 高级别有评分权限18200000002查看方案权限
  50 + api: api/question_api/solutiondetails_api.yml
  51 + validate:
  52 + - eq:
  53 + - content.data.solution.permission
  54 + - 2
  55 +
  56 +
  1 +config:
  2 + name: QX009:未评分过的备选方案,有评分权限人员-查看方案-权限校验2
  3 +
  4 +teststeps:
  5 +
  6 +- name: 评分权限人员18200000005查看问题-审核问题
  7 + output:
  8 + - qid
  9 + testcase: testcases/permission/ques_pf_permission/QX001_pf_permission.yml
  10 + extract:
  11 + qid: content.data.questions.0.id
  12 +
  13 +- name: 评分权限人员18200000005我来分析
  14 + api: api/question_api/solution_api.yml
  15 + extract:
  16 + sid: content.data.solution.id
  17 +
  18 +- name: 有评分权限18200000007登录系统
  19 + variables:
  20 + currtime: ${make_time()}
  21 + uuid: ${make_uuid()}
  22 + access_token: ''
  23 + sign: ${make_sign($currtime, $uuid,$access_token)}
  24 + phone: ${ENV(pfphone1)}
  25 + testcase: testcases/login_testcases.yml
  26 +
  27 +- name: 有评分权限人员18200000007查看方案权限
  28 + api: api/question_api/solutiondetails_api.yml
  29 + validate:
  30 + - eq:
  31 + - content.data.solution.permission
  32 + - 2
  33 +
  34 +
  35 +
  1 +config:
  2 + name: QX010:解决权限主导人不能给自己提出的解决方案评分-权限校验1
  3 +
  4 +teststeps:
  5 +
  6 +- name: 解决权限人员18200000006解决问题,主导人是18200000003
  7 + testcase: testcases/question/solution_question.yml
  8 + extract:
  9 + qid: content.data.questions.0.id
  10 +
  11 +- name: 解决权限人员18200000003登录系统
  12 + variables:
  13 + currtime: ${make_time()}
  14 + uuid: ${make_uuid()}
  15 + access_token: ''
  16 + sign: ${make_sign($currtime, $uuid,$access_token)}
  17 + phone: ${ENV(jjlevelhighphone)}
  18 + testcase: testcases/login_testcases.yml
  19 +
  20 +- name: 解决权限人员18200000003查看问题详情
  21 + output:
  22 + - sid
  23 + api: api/question_api/questiondetail_api.yml
  24 + extract:
  25 + sid: content.data.question.solutions.0.id
  26 +
  27 +- name: 解决权限人员18200000003查看方案权限
  28 + api: api/question_api/solutiondetails_api.yml
  29 + validate:
  30 + - eq:
  31 + - content.data.solution.permission
  32 + - 1
  33 +
  34 +
  35 +
  1 +config:
  2 + name: QX011:解决权限人员可以给自己上传的解决方案评分-权限校验2
  3 +
  4 +teststeps:
  5 +
  6 +- name: 解决权限人员18200000006解决问题,主导人是18200000003
  7 + testcase: testcases/question/solution_question.yml
  8 + extract:
  9 + qid: content.data.questions.0.id
  10 +
  11 +- name: 解决权限人员18200000006登录系统
  12 + variables:
  13 + currtime: ${make_time()}
  14 + uuid: ${make_uuid()}
  15 + access_token: ''
  16 + sign: ${make_sign($currtime, $uuid,$access_token)}
  17 + phone: ${ENV(jjphone)}
  18 + testcase: testcases/login_testcases.yml
  19 +
  20 +- name: 解决权限人员18200000006查看问题详情
  21 + output:
  22 + - sid
  23 + api: api/question_api/questiondetail_api.yml
  24 + extract:
  25 + sid: content.data.question.solutions.0.id
  26 +
  27 +- name: 解决权限人员18200000006查看方案权限
  28 + api: api/question_api/solutiondetails_api.yml
  29 + validate:
  30 + - eq:
  31 + - content.data.solution.permission
  32 + - 2
  33 +
  34 +
  35 +
  1 +config:
  2 + name: QX012:与解决权限人员同级别的人查看解决方案-权限校验1
  3 +
  4 +teststeps:
  5 +
  6 +- name: 解决权限人员18200000006解决问题,主导人是18200000003
  7 + testcase: testcases/question/solution_question.yml
  8 + extract:
  9 + qid: content.data.questions.0.id
  10 +
  11 +- name: 解决权限人员18200001006登录系统
  12 + variables:
  13 + currtime: ${make_time()}
  14 + uuid: ${make_uuid()}
  15 + access_token: ''
  16 + sign: ${make_sign($currtime, $uuid,$access_token)}
  17 + phone: ${ENV(jjlevelequalphone)}
  18 + testcase: testcases/login_testcases.yml
  19 +
  20 +- name: 解决权限人员18200001006查看问题详情
  21 + output:
  22 + - sid
  23 + api: api/question_api/questiondetail_api.yml
  24 + extract:
  25 + sid: content.data.question.solutions.0.id
  26 +
  27 +- name: 解决权限人员18200001006查看方案权限
  28 + api: api/question_api/solutiondetails_api.yml
  29 + validate:
  30 + - eq:
  31 + - content.data.solution.permission
  32 + - 1
  33 +
  34 +
  35 +
  1 +config:
  2 + name: QX013:比解决权限人员高级别的人查看解决方案-权限校验2
  3 +
  4 +teststeps:
  5 +
  6 +- name: 解决权限人员18200000006解决问题,主导人是18200000003
  7 + testcase: testcases/question/solution_question.yml
  8 + extract:
  9 + qid: content.data.questions.0.id
  10 +
  11 +- name: 解决权限人员18200001003登录系统
  12 + variables:
  13 + currtime: ${make_time()}
  14 + uuid: ${make_uuid()}
  15 + access_token: ''
  16 + sign: ${make_sign($currtime, $uuid,$access_token)}
  17 + phone: ${ENV(jjlevelhighphone1)}
  18 + testcase: testcases/login_testcases.yml
  19 +
  20 +- name: 解决权限人员18200001003查看问题详情
  21 + output:
  22 + - sid
  23 + api: api/question_api/questiondetail_api.yml
  24 + extract:
  25 + sid: content.data.question.solutions.0.id
  26 +
  27 +- name: 解决权限人员18200001003查看方案权限
  28 + api: api/question_api/solutiondetails_api.yml
  29 + validate:
  30 + - eq:
  31 + - content.data.solution.permission
  32 + - 2
  33 +
  34 +
  35 +
  1 +config:
  2 + name: 19990000008发布提问
  3 +
  4 +
  5 +teststeps:
  6 +
  7 +- name: 无评分权限的提问人员19990000008登录系统
  8 + variables:
  9 + phone: ${ENV(wpftwphone)}
  10 + testcase: testcases/login_testcases.yml
  11 +
  12 +- name: 19990000008发布提问
  13 + api: api/app_api/firstpage_api/addquestion_api.yml
  14 + varidate:
  15 + validate:
  16 + - eq:
  17 + - content.msg
  18 + - 发布成功
  1 +config:
  2 + name: start_testcases
  3 + #清理数据
  4 + setup_hooks:
  5 + - ${setup_hook_clean_db()}
  6 +
  7 +#teststeps:
  8 +#- name: start_testcases
  9 +# api: api/app_api/login_api/auth/8_gettimestamp_api.yml
  10 +
  11 +E:\mmm_auto\ability_api\testcases
  1 +config:
  2 + name: jxz:登录系统-查看公司悬赏任务-点击抢单
  3 +
  4 +teststeps:
  5 +
  6 +- name: 19990000011登录系统
  7 + variables:
  8 + phone: ${ENV(pfphone)}
  9 + testcase: testcases/login_testcases.yml
  10 +
  11 +- name: 19990000011查看公司悬赏任务
  12 + output:
  13 + - id
  14 + api: api/task_api/task/rewards/rewards_api.yml
  15 + extract:
  16 + id: content.data.tasks.0.id
  17 + validate:
  18 + - eq:
  19 + - content.data.tasks.0.id
  20 + - $id
  21 + - eq:
  22 + - content.code
  23 + - 0
  24 + - eq:
  25 + - content.msg
  26 + - 获取成功
  27 +
  28 +- name: 19990000011任务详情
  29 + api: api/task_api/task/taskDetails_api.yml
  30 + validate:
  31 + - eq:
  32 + - content.code
  33 + - 0
  34 + - eq:
  35 + - content.msg
  36 + - 获取详情成功
  37 +
  38 +- name: 19990000011点击抢单
  39 + api: api/task_api/task/rewards/submitCompete_0_api.yml
  40 + validate:
  41 + - eq:
  42 + - content.code
  43 + - 0
  44 + - eq:
  45 + - content.msg
  46 + - 抢单成功!
  47 +
  48 +- name: 19990000011查看进行中的任务
  49 + api: api/task_api/task/rewards/currentTasks_0_api.yml
  50 + validate:
  51 + - eq:
  52 + - content.code
  53 + - 0
  54 + - eq:
  55 + - content.msg
  56 + - 获取成功
  57 +
  58 +- name: 19990000011任务详情
  59 + api: api/task_api/task/taskDetails_api.yml
  60 + validate:
  61 + - eq:
  62 + - content.code
  63 + - 0
  64 + - eq:
  65 + - content.data.task.status
  66 + - 3
  67 + - eq:
  68 + - content.msg
  69 + - 获取详情成功
  70 +
  1 +config:
  2 + name: jxz:登录系统-查看公司悬赏任务-点击竞标
  3 +
  4 +teststeps:
  5 +
  6 +- name: 19990000011登录系统
  7 + variables:
  8 + phone: ${ENV(pfphone)}
  9 + testcase: testcases/login_testcases.yml
  10 +
  11 +- name: 19990000011查看公司悬赏任务
  12 + output:
  13 + - id
  14 + api: api/task_api/task/rewards/rewards_api.yml
  15 + extract:
  16 + id: content.data.tasks.0.id
  17 + validate:
  18 + - eq:
  19 + - content.data.tasks.0.id
  20 + - $id
  21 + - eq:
  22 + - content.code
  23 + - 0
  24 + - eq:
  25 + - content.msg
  26 + - 获取成功
  27 +
  28 +- name: 19990000011任务详情
  29 + api: api/task_api/task/taskDetails_api.yml
  30 + validate:
  31 + - eq:
  32 + - content.code
  33 + - 0
  34 + - eq:
  35 + - content.msg
  36 + - 获取详情成功
  37 +
  38 +- name: 19990000011点击竞标
  39 + api: api/task_api/task/rewards/submitCompete_1_api.yml
  40 + validate:
  41 + - eq:
  42 + - content.code
  43 + - 0
  44 + - eq:
  45 + - content.msg
  46 + - 已成功参与竞标,等待中标!!
  47 +
  48 +- name: 19990000008登录系统
  49 + variables:
  50 + phone: ${ENV(wpftwphone)}
  51 + testcase: testcases/login_testcases.yml
  52 +
  53 +- name: 19990000008查看公司悬赏任务
  54 + output:
  55 + - id
  56 + api: api/task_api/task/rewards/rewards_api.yml
  57 + extract:
  58 + id: content.data.tasks.0.id
  59 + validate:
  60 + - eq:
  61 + - content.data.tasks.0.id
  62 + - $id
  63 + - eq:
  64 + - content.code
  65 + - 0
  66 + - eq:
  67 + - content.msg
  68 + - 获取成功
  69 +
  70 +- name: 19990000008任务详情
  71 + output:
  72 + - uid
  73 + api: api/task_api/task/taskDetails_api.yml
  74 + extract:
  75 + uid: content.data.tasks.bidders.0.uid
  76 + validate:
  77 + - eq:
  78 + - content.code
  79 + - 0
  80 + - eq:
  81 + - content.msg
  82 + - 获取详情成功
  83 +
  84 +- name: 19990000008中标
  85 + api: api/task_api/task/bidTask_api.yml
  86 + validate:
  87 + - eq:
  88 + - content.code
  89 + - 0
  90 + - eq:
  91 + - content.msg
  92 + - 中标成功
  93 +
  94 +- name: 19990000011登录系统
  95 + variables:
  96 + phone: ${ENV(pfphone)}
  97 + testcase: testcases/login_testcases.yml
  98 +
  99 +- name: 19990000011查看公司悬赏任务
  100 + output:
  101 + - id
  102 + api: api/task_api/task/rewards/rewards_api.yml
  103 + extract:
  104 + id: content.data.tasks.0.id
  105 + validate:
  106 + - eq:
  107 + - content.data.tasks.0.id
  108 + - $id
  109 + - eq:
  110 + - content.code
  111 + - 0
  112 + - eq:
  113 + - content.msg
  114 + - 获取成功
  115 +
  116 +- name: 19990000011任务详情
  117 + api: api/task_api/task/taskDetails_api.yml
  118 + validate:
  119 + - eq:
  120 + - content.code
  121 + - 0
  122 + - eq:
  123 + - content.msg
  124 + - 获取详情成功
  125 +
  126 +- name: 19990000011查看进行中的任务
  127 + api: api/task_api/task/rewards/currentTasks_0_api.yml
  128 + validate:
  129 + - eq:
  130 + - content.code
  131 + - 0
  132 + - eq:
  133 + - content.msg
  134 + - 获取成功
  135 +
  136 +- name: 19990000011任务详情
  137 + api: api/task_api/task/taskDetails_api.yml
  138 + validate:
  139 + - eq:
  140 + - content.code
  141 + - 0
  142 + - eq:
  143 + - content.data.task.status
  144 + - 3
  145 + - eq:
  146 + - content.msg
  147 + - 获取详情成功
  148 +
  149 +- name: 19990000011完成任务
  150 + api: api/task_api/task/taskfinishTask_api.yml
  151 + validate:
  152 + - eq:
  153 + - content.code
  154 + - 0
  155 + - eq:
  156 + - content.msg
  157 + - 完成成功
  1 +config:
  2 + name: jxz:登录系统-查看公司悬赏任务-点击抢单
  3 +
  4 +teststeps:
  5 +
  6 +- name: 19990000011登录系统
  7 + variables:
  8 + phone: ${ENV(pfphone)}
  9 + testcase: testcases/login_testcases.yml
  10 +
  11 +- name: 19990000011查看公司悬赏任务
  12 + output:
  13 + - id
  14 + api: api/task_api/task/rewards/rewards_api.yml
  15 + extract:
  16 + id: content.data.tasks.0.id
  17 + validate:
  18 + - eq:
  19 + - content.data.tasks.0.id
  20 + - $id
  21 + - eq:
  22 + - content.code
  23 + - 0
  24 + - eq:
  25 + - content.msg
  26 + - 获取成功
  27 +
  28 +- name: 19990000011任务详情
  29 + api: api/task_api/task/taskDetails_api.yml
  30 + validate:
  31 + - eq:
  32 + - content.code
  33 + - 0
  34 + - eq:
  35 + - content.msg
  36 + - 获取详情成功
  37 +
  38 +- name: 19990000011点击抢单
  39 + api: api/task_api/task/rewards/submitCompete_0_api.yml
  40 + validate:
  41 + - eq:
  42 + - content.code
  43 + - 0
  44 + - eq:
  45 + - content.msg
  46 + - 抢单成功!
  47 +
  48 +- name: 19990000011查看进行中的任务
  49 + api: api/task_api/task/rewards/currentTasks_0_api.yml
  50 + validate:
  51 + - eq:
  52 + - content.code
  53 + - 0
  54 + - eq:
  55 + - content.msg
  56 + - 获取成功
  57 +
  58 +- name: 19990000011任务详情
  59 + api: api/task_api/task/taskDetails_api.yml
  60 + validate:
  61 + - eq:
  62 + - content.code
  63 + - 0
  64 + - eq:
  65 + - content.data.task.status
  66 + - 3
  67 + - eq:
  68 + - content.msg
  69 + - 获取详情成功
  70 +
  1 +config:
  2 + name: jxz:登录系统-查看公司悬赏任务-点击抢单
  3 +
  4 +teststeps:
  5 +
  6 +- name: 19990000011登录系统
  7 + variables:
  8 + phone: ${ENV(pfphone)}
  9 + testcase: testcases/login_testcases.yml
  10 +
  11 +- name: 19990000011查看公司悬赏任务
  12 + output:
  13 + - id
  14 + api: api/task_api/task/rewards/rewards_api.yml
  15 + extract:
  16 + id: content.data.tasks.0.id
  17 + validate:
  18 + - eq:
  19 + - content.data.tasks.0.id
  20 + - $id
  21 + - eq:
  22 + - content.code
  23 + - 0
  24 + - eq:
  25 + - content.msg
  26 + - 获取成功
  27 +
  28 +- name: 19990000011任务详情
  29 + api: api/task_api/task/taskDetails_api.yml
  30 + validate:
  31 + - eq:
  32 + - content.code
  33 + - 0
  34 + - eq:
  35 + - content.msg
  36 + - 获取详情成功
  37 +
  38 +- name: 19990000011点击抢单
  39 + api: api/task_api/task/rewards/submitCompete_0_api.yml
  40 + validate:
  41 + - eq:
  42 + - content.code
  43 + - 0
  44 + - eq:
  45 + - content.msg
  46 + - 抢单成功!
  47 +
  48 +- name: 19990000011查看进行中的任务
  49 + api: api/task_api/task/rewards/currentTasks_0_api.yml
  50 + validate:
  51 + - eq:
  52 + - content.code
  53 + - 0
  54 + - eq:
  55 + - content.msg
  56 + - 获取成功
  57 +
  58 +- name: 19990000011任务详情
  59 + api: api/task_api/task/taskDetails_api.yml
  60 + validate:
  61 + - eq:
  62 + - content.code
  63 + - 0
  64 + - eq:
  65 + - content.data.task.status
  66 + - 3
  67 + - eq:
  68 + - content.msg
  69 + - 获取详情成功
  70 +
  71 +- name: 19990000011完成任务
  72 + api: api/task_api/task/taskfinishTask_api.yml
  73 + validate:
  74 + - eq:
  75 + - content.code
  76 + - 0
  77 + - eq:
  78 + - content.msg
  79 + - 完成成功