![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 62
JerryTom最可爱
这个作者很懒,什么都没留下…
展开
-
python + Selenium+webdriver实现UI自动化(含示例)
一、原理Selenium 是一个 Web 应用的自动化框架。通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作,而且还能从web界面获取信息。Selenium 的自动化原理如图所示:从上图可以看出:编写的自动化程序 需要使用 客户端库,程序的自动化请求都是通过这个库里面的编程接口发送给浏览器。比如,要模拟用户点击界面按钮, 自动化程序里面就应该 调用客户端库相应的函数, 就会发送 点击元素 的请求给 下方的 浏览器驱动。 然后,浏览器原创 2021-09-23 21:58:13 · 10252 阅读 · 0 评论 -
PyQt5 界面美化之 一键换风格(再也不用一个个调颜色啦~)
1、依赖模块pip3 install QCandyUi2、使用方法仅需在需要美化的窗口类上加上@colorful装饰器即可也可以调用CandyWindow.creatWindow()返回经美化的QWidget (推荐用这种)3、示例化妆前class MainWindow(QMainWindow, Ui_MainWindow): ....... if __name__ == '__main__': app = QApplication(sys.argv)原创 2021-09-23 21:09:45 · 19605 阅读 · 20 评论 -
mac 下 selenium无法启动浏览器(chromedriver)
chromedriver 下载地址看网上有人说将 chromedriver 放置到:/usr/local/bin/打开Mac终端terminal : 进入 chromedirve文件所在目录,输入命令:`sudo mv /…/chromedriver /usr/local/bin/如图:/usr/bin/目录有很强的权限限制,所以放到/usr/local/bin/目录下,可以正常生效But,并么有用下面这个办法亲测有用:同上,将chromedriver移动到下面目录,然后执行cd原创 2021-08-08 13:23:57 · 1271 阅读 · 0 评论 -
MAC下配置ADB环境~简单粗暴!!!
1、安装homebrew(一般都会有,有的话直接跳过)打开终端,输入以下指令:ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”2、安装adb工具brew cask install android-platform-tools3、测试adb环境是否安装成功adb version# 或者直接adb比之前搜到的一大堆配置.bash_profile文件好用多原创 2021-06-20 14:24:35 · 803 阅读 · 1 评论 -
mac 虚拟环境创建第一个PyQt5项目
文章目录环境配置第一个示例解决运行代码不显示的问题环境配置1、打开pycharm,新建一个虚拟环境的项目之所以选择虚拟环境,是可以创建一个干净的python环境,可随时删除任一创建的python环境,且不会影响到主机的python环境。所以,下面配置的路径有所不同;2、安装pyqt5打开终端,执行pip3 install pyqt5,如图所示安装成功执行pip3 install pyqt5-tools,就为了这个兄弟designer.exe(使用他,搭建UI界面很方便~)3、配置新版的原创 2021-06-20 14:10:19 · 347 阅读 · 0 评论 -
python3: “Non-UTF-8 code starting with ‘\xe7 “报错
Python3中出现Non-UTF-8 code starting with '\xe7’的错误好吧,总是忘记,写个两行的博客记一下噻~Python3默认使用utf-8的编码格式,如果出现**Non-UTF-8 code starting with ‘\xe7’**的错误,可以在程序的最顶部加上 # -- coding:utf-8 --即可。...原创 2021-06-16 18:02:38 · 1057 阅读 · 0 评论 -
Pytest 之 fixture
fixture作为参数传入定义fixture跟定义普通函数唯一区别就是在函数上加个装饰器**@pytest.fixture()**,fixture命名不要用test开头,跟用例区分开,用例才是以test开头的命名;fixture是可以有返回值的,如果没有 return 默认返回None。用例调用 fixture 的返回值,直接就是把 fixture 的函数名称当成变量名称代码示例:# test_fixture.pyfrom operator import addimport pytest原创 2021-03-05 16:08:35 · 114 阅读 · 0 评论 -
allure报错:‘allure‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件(已解决)
问题:allure报错:‘allure’ 不是内部或外部命令,也不是可运行的程序 或批处理文件原因是本地忘记配置环境变量了~~~~~原地炸裂下载地址:allure官网环境准备在终端运行java、javac这些命令都没有问题,要不安装allure时会报错;安装&环境变量配置1、找到并进入bin文件运行 allure.bat,会弹出一个黑框一闪而过(闪的太快,没有截到图~~)2、复制bin文件所在路径此电脑 —>右键属性—>高级系统设置一路确定即可~然后满心欢喜原创 2021-03-04 16:43:02 · 5831 阅读 · 2 评论 -
pytest测试框架(二)
前提声明:在pytest框架中,有如下约束: 所有的文件名都需要满足test_.py格式或_test.py格式; 在文件中,测试类以Test开头,并且不能带有init 方法(注意:定义class时,需要以T开头,不然pytest是不会去运行该class的) 在类中,可以包含一个或多个test_开头的函数。此时,在执行pytest命令时,会自动从当前目录及子目录中寻找符合上述约束的测试函数来执行。1、安装插件pytest有很多强大的插件,例如:pytest-html 生成html测试报告原创 2021-03-03 18:56:41 · 260 阅读 · 0 评论 -
Airtest 之 poco 避坑大法
一、渲染树未出现使用OPPO 手机,发现渲染树始终出不来,始终只有"UI渲染树“ 这几个大字,而且一直报错,如下图所示:解决办法:进入手机 “开发者选项”–>"禁止权限开关”,打开它即可二、NameError: name 'poco ’ is not defined有些手机在poco窗口选择“Android",会出现一行提示,如图所示,选择”yes",这时候代码里会自动添加一行代码,如果没有添加成功,运行会出现“name ‘poco’ is not define",这时手动将代码添加进入即原创 2021-03-03 10:42:37 · 5156 阅读 · 3 评论 -
Pytest之paramtrize参数化
paramtrize 参数化:众所周知,测试用例需要尽可能多的(有代表性)的测试数据,在pytest中,我们可以往test数组中添加很多同样格式的测试数据,这个过程就是所谓的参数化。参数化即对同一个接口,使用多种不同的输入对其进行测试,以验证每一组输入的参数是否都可以得到预期的结果。Pytest提供了pytest.mark.paramtrize这种方式来进行参数化一、参数说明@pytest.mak.paramtrize(argsnames, argsvalues, ids=None) 如上所示是原创 2021-03-01 17:05:24 · 525 阅读 · 10 评论 -
pytest测试框架
pytest一、安装pip install pytest安装完成之后查看版本pytest --verson【注】如果因为pip不是最新的安装失败,可以移步ModuleNotFoundError: No module named ‘pip‘二、使用规则要想pytest在不同函数或者包中发现测试用例,需要按照下述规则来定义文件名、类名或者函数名:文件名以test_开头的py文件 ;以test_开头的函数 ;以Test开头的类;三、示例# 文件名为 test_firstcase.py原创 2021-02-24 16:31:36 · 2575 阅读 · 0 评论 -
ModuleNotFoundError: No module named ‘pip‘
pip安装一个包,结果提示需要升级pip按照提示输入命令升级pip,报错,导致pip找不到~~~~解决办法:python -m ensurepippython -m pip install --upgrade pip依次执行以上命令即可~原创 2021-02-24 11:06:02 · 120 阅读 · 0 评论 -
python (冒泡、选择、插入、快速)排序算法详解 !!!
1、冒泡排序思路:每相邻的两个数进行比较,如果前边的比后边的数大,则交换这两个数,重复操作,这样的话每一趟会确定一个最大值,用老师的话说是让轻的飘起来,重的落下去.......所以,这个算法的关键点就是【趟】如下代码所示,冒泡排序的时间复杂度为O(n2)def bubble_sort(L): #确定排序的趟数 for i in range(len(L)-1): ...原创 2019-11-08 17:41:12 · 194 阅读 · 0 评论 -
python 题解无重复的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。一开始拿到这个题目,很开心,简单啊,直接新建一个列表,每读一个字母加到新列表里(如果列表里...原创 2019-11-04 10:58:35 · 510 阅读 · 0 评论 -
python3 图解反转列表 !!!绝对好理解
反转列表用python写的话很简单,但是总感觉不是很好理解,画图来一遍,加深理解 ~(小菜鸟的悲伤)示例:输入: 1->2->3->4->NULL输出: 4->3->2->1->NULL(ps: 画图技术不行,将就看看,不要嫌弃我呀~)初始链表长这样:先定义一个空指针pre = None,干嘛呢?对,没错,就是让他记住...原创 2019-10-29 17:26:04 · 216 阅读 · 2 评论 -
python3 题解删除列表倒数第N个节点
删除链表的倒数第N个节点,上数据结构课的时候老师讲了一个比较巧妙的方法,快慢指针,即定义快慢两个指针,快指针先走N步(N为要删除的倒数第N个元素的N),然后快慢指针一起走,他两之间的距离始终保持N,这样的话当快指针走到末尾的时候,慢指针所在的位置即为要删除的节点的位置,很巧妙吧?如果没看懂,没关系,简单说,这个N就相当于一把尺子,尺子的两端一个快指针一个慢指针,自己看看,很好理解吧?好了,说完...原创 2019-10-29 16:28:51 · 871 阅读 · 0 评论 -
python 字典初始化方法 全!!!
python 中字典还是比较常用的,可惜自己一直记不住,好记性不如烂笔头这话说的一点没错方法一:(这个是比较常见的)d1 = {'x': 1, 'y': 2}print(d1['x'])>>> 1当然也有这种特别好理解,但是写起来不那么.......友好的d1' = {}d1'[k1] = v1d1'[k2] = v2.......方法...原创 2019-09-02 18:32:21 · 79366 阅读 · 2 评论