# 3. project_path.py

# 用来读取文件的路径
import os

# os.path.split(path)使用:
# 1.path如果是具体到文件名,则返回最后层级的文件,和文件之前的路径
# 2.path如果具体到文件夹,则返回最后一层文件夹,和文件夹之前的路径
# 3.返回值的类型是元组
# dir_name = os.path.split(r"H:\python_lemon\API_AUTO\tools")
# print(dir_name)
# f_name = os.path.split(r"H:\python_lemon\API_AUTO\tools\do_excel.py")
# print(f_name, type(f_name))

# 方法1获取工程目录
# 第1个split[0]取到的是tools目录,第2个split[0]取到的是tools的上层目录
# project_path = os.path.split(os.path.split(os.path.realpath(__file__))[0])[0]
# print(project_path)

# 方法2获取工程目录
dir_cwd = os.getcwd()  # 当前所在目录
# print(dir_cwd)
project_path = os.path.split(dir_cwd)[0]  # 当前目录的上一级目录,即工程目录
# print(project_path)

# 测试用例的路径
test_case_path = os.path.join(project_path, "test_data", "test_data_p2p.xlsx")
print(test_case_path)

# 测试报告的路径
test_report_path = os.path.join(project_path, "test_result", "html_report", "report.html")
# print(test_report_path, type(test_report_path))

# 配置文件的路径
case_config_path = os.path.join(project_path, "config\case.config")
# case_config_path_auto_incre = os.path.join(project_path, "config\case_auto_incre.config")
# print(case_config_path)

unittest(22)- p2p项目实战(3)-project_path的更多相关文章

  1. unittest(22)- p2p项目实战(8)-test_class_auto_incre

    # 8.test_class_auto_incre # 使用ddt import requests import unittest from p2p_project_7.tools.http_requ ...

  2. unittest(22)- p2p项目实战(7)-do_mysql

    # 7. do_msql.py import mysql.connector from p2p_project_2020_1_21.tools import project_path from p2p ...

  3. unittest(22)- p2p项目实战(4)-read_config

    # 4. read_config.py import configparser class ReadConfig: @staticmethod def get_config(file_path, se ...

  4. unittest(22)- p2p项目实战(2)-http_request

    # 2. http_request.py import requests from learn_logging_5.write_log_class import MyLog my_logger = M ...

  5. selenium3 web自动化测试框架 四:Unittest介绍及项目实战中的运用

    unittest介绍及运用,可以参考之前写的文章,除了未结合web自动化演示,基础知识都有了 https://www.cnblogs.com/wuzhiming/p/8858305.html unit ...

  6. 移动端自动化测试Appium 从入门到项目实战Python版☝☝☝

    移动端自动化测试Appium 从入门到项目实战Python版 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌)  说到APP自动化测试,Appium可是说是非常流 ...

  7. UI自动化测试框架(项目实战)python、Selenium(日志、邮件、pageobject)

    其实百度UI自动化测试框架,会出来很多相关的信息,不过就没有找到纯项目的,无法拿来使用的:所以我最近就写了一个简单,不过可以拿来在真正项目中可以使用的测试框架. 项目的地址:https://githu ...

  8. angularJs项目实战!02:前端的页面分解与组装

    自从上一篇文章到现在已经有将近一个月的时间,我将精力放在了前端页面分解与组装,和angularjs如何与jquery.bootstrap.D3等一系列其他类库结合使用的经验总结上.由于公司新招了一些员 ...

  9. angularJs项目实战!01:模块划分和目录组织

    近日来我有幸主导了一个典型的web app开发.该项目从产品层次来说是个典型的CRUD应用,故而我毫不犹豫地采用了grunt + boilerplate + angularjs + bootstrap ...

随机推荐

  1. go语言学习资料

    Go语言圣经(中文版): https://docs.hacknode.org/gopl-zh/index.html Go语言高级编程(Advanced Go Programming) https:// ...

  2. javaweb学习——会话技术(一)

    会话: 1.什么是会话:从打开一个浏览器,访问页面,到最终关闭浏览器的一个过程,就是一次会话. 2.会话的特点:包含多个请求,一次完整的会话是只针对一个用户. 3.会话机制:web中常用的技术,用来跟 ...

  3. python格式化输出的三种形式

    法一: list_a = [1, 2, 3] str_b = 'aaa' string = "There are two contents:%s, %s" % (list_a, s ...

  4. ZJNU 1125 - A == B ?——中级

    处理后再判断即可,处理过程注意考虑全面. /* Written By. StelaYuri */ #include<iostream> #include<string> usi ...

  5. Linux-waitpid介绍

    1.waitpid与wait差别 (1).基本功能是一样的,都是用来回收子进程 (2).waitpid可以回收指定PID的子进程 (3).waitpid可以阻塞式或非阻塞式两种工作模式 2.代码示例 ...

  6. Python程序中的线程操作(线程池)-concurrent模块

    目录 Python程序中的线程操作(线程池)-concurrent模块 一.Python标准模块--concurrent.futures 二.介绍 三.基本方法 四.ProcessPoolExecut ...

  7. Python 生成requirements文件以及使用requirements.txt部署项目

    生成requirements.txt 当你的项目不再你的本地时,为了方便在新环境中配置好环境变量,你的项目需要一个记录其所有依赖包以及它们版本号的文件夹requirements.txt 文件. pip ...

  8. 802.11X

    LSW1; interface Vlanif100 ip address 192.168.121.2 255.255.255.0连接云的地址 interface GigabitEthernet0/0/ ...

  9. 三、linux-mysql mysql的多实例

    1.什么是mysql多实例 一个机器开通多个端口,运行多个mysql服务器进程,这些服务进程通过不同的socket监听不同的服务端口提供各自的服务,但它们共用一台mysql安装程序,使用不同的my.c ...

  10. django框架进阶-CSRF认证

    ############################################### """ django中csrf的实现机制 #第一步:django第一次响应 ...