Mac OS下应用Python+Selenium实现web自动化测试

在Mac环境下应用Python+Selenium实现web自动化测试

在这个过程中要注意两点:

1.在终端联网执行命令"sudo pip install --U selenium"如果失败了的话,可以尝试用命令"sudo easy_install selenium"来安装selenium;

2.安装好PyCharm后新建project,Interpreter一定要选对,默认给出的两个可选项很有可能是不对的。亲测通过的一个Interpreter是"/usr/bin/python2.7"。如果你创建project的时候选错了Interpreter的话,可以从PyCharm(我的PyCharm版本是PyCharm Community Edition 5.0.1)的File->Default Settings->Default Project->Project Interpreter->Add local来重新进行选择,如下图:

如果第2点选择不对的话在import selenium的时候会出错,提示:Unresolved preference 'Selenium'。

只有选择对Interpreter之后才能够正常的引入selenium并执行程序(以下用测试博客园登录功能为例):

python 复制代码
#-*- coding: UTF-8 -*-
from selenium import webdriver
import time
browser = webdriver.Firefox()
browser.get("http://cnblogs.com")
time.sleep(1)
browser.find_element_by_link_text("登录").click()
time.sleep(1)
browser.find_element_by_id("input1").send_keys("用户名")
browser.find_element_by_id("input2").send_keys("密码")
browser.find_element_by_id("signin").click()
time.sleep(1)
try:
    if browser.find_element_by_link_text("退出"):
        print "Login Successfully."
except:
    print "Login failed."
#browser.quit()

运行结果(测试通过):

这样在Mac+Python+PyCharm+Selenium下一个简单的测试用例就完成了。

最后说些关于自动化的事,哪些测试有必要自动化,哪些测试没必要自动化。我认为页面上的文字以及图像类检查,都没有必要自动化。为什么呢?因为布局上的一些东西,是要靠肉眼看的。即便是文字内容对了,如果布局出错了,用传统的自动化页面定位元素的检查方法也是check不出来的。所以我认为,凡是涉及到图像和文字等一切表现层的东西都没有必要自动化,表现层上的测试还是要手动的完成。至于功能逻辑上的测试,比如点哪个按钮跳转到哪里之类的测试,可以自动化完成。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
我是海飞7 分钟前
杰理 AC792N WebSocket 客户端例程使用测试教程
c语言·python·单片机·websocket·网络协议·嵌入式·杰理
冴羽14 分钟前
2025 年 HTML 年度调查报告公布!好多不知道!
前端·javascript·html
shy^-^cky18 分钟前
Python程序设计完整复习要点(含实例)
python·期末复习
Apifox24 分钟前
Apifox CLI + Claude Skills:将接口自动化测试融入研发工作流
前端·后端·测试
程序员Agions42 分钟前
别再只会 console.log 了!这 15 个 Console 调试技巧,让你的 Debug 效率翻倍
前端·javascript
我的div丢了肿么办1 小时前
vue使用h函数封装dialog组件,以命令的形式使用dialog组件
前端·javascript·vue.js
做萤石二次开发的哈哈1 小时前
萤石开放平台 萤石可编程设备 | 设备脚本自定义开发
开发语言·python·萤石云·萤石·萤石开放平台
UIUV1 小时前
Git 提交规范与全栈AI驱动开发实战:从基础到高级应用
前端·javascript·后端
NEXT061 小时前
那个写 width: 33.33% 的前端,终于被 flex: 1 拯救了
前端·css