python3--selenium--unittest。长时间未使用,编写UI自动化遇到的问题以及解决方法【问题11-15】

前言:自动化测试存在比较多的使用限制,会存在某段时间无法使用的生疏期。通过这篇文章记录项目编写程序中遇到的问题以及解决思路,希望对以后的自动化开发能有些帮助。

问题11:python链接postgre数据库

问题12:python单文件打包--可以研究下多文件打包,目前还没有解决多问题打包的问题

问题13:python如何生成json文件?如何将生成的文件格式化

问题14:python如何创建目录,创建文件

问题15:python如何写入文件内容入门之---txt

问题11:python链接postgre数据库

        python链接数据库,之前写过一篇如何链接Mysql的数据库。这次面对的是postgres,链接的方式基本相同。

首先需要引入“驱动”【之前不知道叫驱动,就知道是调用postgres的包】psycopg2

然后配置数据库链接,创建脚本瓶装数据执行就可以了。源码如下:

问题12:python单文件打包--可以研究下多文件打包,目前还没有解决多问题打包的问题

        单文件打包主要适用于,某些小型的工具开发,开发完成后将代码封装为exe。运行代码不需要安装python,以及IDE,使用及其简便。安装的过程中也发现了很多问题,这里一并记录下。

攻略找了很多,觉得下面这个帮助是最大的!

python的py文件打包成exe - 伊人点梦 - 博客园

1. 安装Pyinstaller,本地已经按照了Python3.7的情况下,直接CMD进入命令行后,执行pip install PyInstaller即可。

自己执行的之后,怎么都安装不上,后来才知道是本地的pip.exe版本较低导致的,需要升级下本地pip版本,CMD中录入如下命令python -m pip install --upgrade pip。

2、启动cmd将py文件打包成exe文件

pyinstaller文件夹位于:G:\Anaconda2\Anaconda2\Lib\site-packages

(如果没有安装Anaconda2,只装了python,那么pyinstaller应该位于【你的安装目录\python27\Lib\site-packages】)

(1)在site-packages文件夹下新建文件夹myexe用来存放要做成exe的py文件

(2)命令提示符进入到myexe文件夹;

(3)命令提示符输入:pyinstaller -F 文件名.py;注意空格和大小写;【例如pyinstaller -F mytest.py】

(4)在文件夹内将生成若干文件,其中exe文件在dist文件夹中。

3. 打包的exe文件,可在未安装python的电脑上执行,很适合用于小型工具开发

目前这种打包方式,本地尝试只适用于简单的程序。针对需要安装驱动,流程比较复杂,例如自动化测试流程,目前还没有通过打包的方式完成,还有待尝试和改进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的基于 PythonSeleniumUI 自动化测试框架。 首先,我们需要安装 Selenium: ```bash pip install selenium ``` 接下来,我们需要下载对应浏览器的驱动程序,例如 Chrome 浏览器的驱动程序可以在以下链接中下载: [https://sites.google.com/a/chromium.org/chromedriver/downloads](https://sites.google.com/a/chromium.org/chromedriver/downloads) 下载后将驱动程序放在一个合适的目录中,并将该目录添加到系统环境变量中。 然后,我们可以编写一个基本的测试类: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC class TestFramework: def __init__(self): self.driver = webdriver.Chrome() self.wait = WebDriverWait(self.driver, 10) def test_google_search(self): self.driver.get("https://www.google.com/") search_input = self.driver.find_element_by_name("q") search_input.send_keys("Selenium") search_input.send_keys(Keys.RETURN) results = self.wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "g"))) for result in results: print(result.text) def cleanup(self): self.driver.quit() ``` 在上面的代码中,我们首先初始化了一个 Chrome 浏览器的 WebDriver 对象,并创建了一个 WebDriverWait 对象,用于等待页面元素加载完成。然后我们定义了一个测试方法 test_google_search,该方法打开 Google 搜索首页,输入“Selenium”,并打印搜索结果。最后我们定义了一个 cleanup 方法,在测试结束后关闭浏览器。 我们可以使用 unittest 模块来运行这个测试类: ```python import unittest class TestGoogleSearch(unittest.TestCase): def setUp(self): self.framework = TestFramework() def test_search(self): self.framework.test_google_search() def tearDown(self): self.framework.cleanup() if __name__ == '__main__': unittest.main() ``` 在上面的代码中,我们使用 unittest 模块来运行测试类 TestGoogleSearch,在 setUp 和 tearDown 方法中创建和销毁 TestFramework 对象,实现了测试的自动化运行。 这只是一个简单的框架示例,实际应用中还需要考虑测试数据管理、测试报告生成、异常处理等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值