当前位置: 首页 > news >正文

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并执行程序(以下用测试博客园登录功能为例):

#-*- 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不出来的。所以我认为,凡是涉及到图像和文字等一切表现层的东西都没有必要自动化,表现层上的测试还是要手动的完成。至于功能逻辑上的测试,比如点哪个按钮跳转到哪里之类的测试,可以自动化完成。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

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

http://www.lryc.cn/news/132319.html

相关文章:

  • 每天一道leetcode:934. 最短的桥(图论中等广度优先遍历)
  • 【学习日记】【FreeRTOS】FreeRTOS 移植到 STM32F103C8
  • Qt 屏幕偶发性失灵
  • 如何在pycharm中指定GPU
  • C#判断字符串中有没有字母,正则表达式、IsLetter
  • Jtti:Ubuntu怎么限制指定端口和IP访问
  • 机器学习/深度学习需要掌握的linux基础命令
  • C++11 std::async推荐使用 std::launch::async 模式
  • 没有使用springboot 单独使用spring-boot-starter-logging
  • 创建Azure资源锁
  • 卷积神经网络教程 (CNN) – 使用 TensorFlow 在 Python 中开发图像分类器
  • MyBatis XML映射处理CLOB和BLOB类型
  • FPGA_学习_14_第一个自写模块的感悟和ila在线调试教程与技巧(寻找APD的击穿偏压)
  • 【2023新教程】树莓派定时自动拍照并上传腾讯云对象存储COS
  • 校企合作谋发展 合作共赢谱新篇|云畅科技与湖南民族职业学院签订校企合作协议
  • vue技术学习
  • 基于空间的图卷积神经网络:GNN
  • .net core发布到IIS上出现 HTTP 错误 500.19
  • 01_Redis单线程与多线程
  • 机器学习——随机森林【手动代码】
  • Vue 2 处理边界情况
  • 写一个mysql 正则表达式,每三个img标签图片后面添加<hr>
  • Spring MVC异常处理
  • Centos7安装docker后默认开启docker0的网卡|卸载默认网卡
  • 04_Redis与mysql数据双写一致性案例
  • vue的开发者工具下载『保姆级别』
  • vue的scrollTop手机环境设置值失效,本地正常可以赋值
  • [前端系列第7弹]Vue:一个渐进式的 JavaScript 框架
  • C#键盘按键对应Keys类大全
  • SpringBoot 学习(03): 弱语言的注解和SpringBoot注解的异同