第一个appium测试用例
from time import sleep
from appium import webdriver
import pytest class TestXueqiu: user_profile_id = "user_profile_icon"
login_more_id = "iv_login_more"
login_account_id = "login_account"
login_password_id = "login_password"
button_next_id = "button_next"
md_content_id = "md_content"
md_buttonDefaultPositive_id = "md_buttonDefaultPositive"
action_back_id = "iv_action_back"
buttonDefaultNegative_id = "md_buttonDefaultNegative"
action_back1_id = "action_back"
home_search_id = "home_search"
search_input_text_id = "search_input_text"
search_name_id = "name"
stockName_id = "stockName"
action_close_id = "action_close" def setup_class(self): caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "8.1.0"
caps["deviceName"] = "60c106df0302"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["noReset"] = True self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
self.driver.implicitly_wait(20) def test_wrong_phone(self): self.driver.find_element_by_id(self.user_profile_id).click()
self.driver.find_element_by_id(self.login_more_id).click()
login_account = self.driver.find_element_by_id(self.login_account_id)
login_account.clear()
login_account.send_keys("1311111111111111111")
login_password = self.driver.find_element_by_id(self.login_password_id)
login_password.clear()
login_password.send_keys("123456abc")
self.driver.find_element_by_id(self.button_next_id).click()
text = self.driver.find_element_by_id(self.md_content_id).get_attribute("text")
assert text == "手机号码填写错误"
self.driver.find_element_by_id(self.md_buttonDefaultPositive_id).click() def test_wrong_password(self):
login_account = self.driver.find_element_by_id(self.login_account_id)
login_account.clear()
login_account.send_keys("15958020294")
login_password = self.driver.find_element_by_id(self.login_password_id)
login_password.clear()
login_password.send_keys("123456abc111")
self.driver.find_element_by_id(self.button_next_id).click()
text = self.driver.find_element_by_id(self.md_content_id).get_attribute("text")
assert text == "用户名或密码错误"
self.driver.find_element_by_id(self.md_buttonDefaultPositive_id).click()
self.driver.find_element_by_id(self.action_back_id).click()
self.driver.find_element_by_id(self.buttonDefaultNegative_id).click()
self.driver.find_element_by_id(self.action_back1_id).click() @pytest.mark.parametrize(("search", "result"), [
("alibaba", "阿里巴巴"), ("xiaomi", "小米"), ("google", "谷歌")
])
def test_search(self, search, result):
self.driver.find_element_by_id(self.home_search_id).click()
self.driver.find_element_by_id(self.search_input_text_id).send_keys(search)
self.driver.find_elements_by_id(self.search_name_id)[0].click()
text = self.driver.find_elements_by_id(self.stockName_id)[0].get_attribute("text")
assert result in text
self.driver.find_element_by_id(self.action_close_id).click() def teardown_class(self):
sleep(5)
self.driver.quit()
第一个appium测试用例的更多相关文章
- Appium(四):真实机第一个appium程序、模拟器第一个appium程序、查看元素
1. 真实机第一个appium程序 学完了前面的知识,也将环境搭建好了,接下来我们就正式开始appium的学习了. 在做app自动化的时候,我们肯定是针对某个产品.某个软件进行测试,那么我们一定是先让 ...
- appium学习【四】:第一个appium脚本
#coding=utf-8 import os import HTMLTestRunner import unittest import time import sys from appium imp ...
- 一个appium 博客
http://www.cnblogs.com/tobecrazy/category/699177.html appium Java控制Appium server start/stop 摘要: 相信很多 ...
- 第二章 mac上运行第一个appium实例
一.打开appium客户端工具 1 检查环境是否正常运行: 点击左边第三个图标 这是测试你环境是否都配置成功了 2 执行的过程中,遇到Could not detect Mac OS ...
- 测试工具之Jmeter(创建一个简单测试用例)
前面介绍了如何使用badboy录制jmeter脚本,以及如何导入脚本并进行测试 这里介绍下手动创建测试用例,主要步骤如下: 1.创建线程组 第一次打开Jmeter只有一个测试计划,右键“测试计划”选择 ...
- 第一个appium的Demo
原文来自:一颗糖果 http://www.cnblogs.com/linglingyuese/articles/8418311.html 一.环境搭建 略(后期补) 二.创建一个测试apk包的项目 ...
- XMind2TestCase:一个高效测试用例设计的解决方案!
一.背景 软件测试过程中,最重要.最核心就是测试用例的设计,也是测试童鞋.测试团队日常投入最多时间的工作内容之一. 然而,传统的测试用例设计过程有很多痛点: 1.使用Excel表格进行测试用例设计,虽 ...
- Python编写Appium测试用例(1)
有段时间没有使用python编写测试用例了,很长时间以来,感觉appium这个测试工具确实不错,今天又重新拿起来,分享一下自己学习的一些用例,欢迎大家一起交流.学习! 1.登录客户端 #coding= ...
- Appium移动自动化测试-----(六)4.运行第一个Appium脚本
新建maven空白工程 前置条件:安装eclipse或IntelliJ IDEA,及其maven插件,请自行百度 新建的工程如下: 新建目录apps,并将下载的安装包,拷贝到该目录下 打开POM增加依 ...
随机推荐
- JQuery 源码解析 · extend()详解
前言:最近想重写一个dropdown插件,于是想到了使用jquey实现插件,于是重温了一波$.extend()的知识,然后总结了这篇笔记 正文: $.extend(src) jQuery.exten ...
- Java面向对象程序设计第6章1-12
1.this和super各有几种用法? this this 用法有三种,主要应用场合: 表示当前对象引用,常用于形参或局部变量与类的成员变 量同名的情形,使用this.成员名表示当前对象的成员 表示当 ...
- Java 爬虫遇到需要登录的网站,该怎么办?
这是 Java 网络爬虫系列博文的第二篇,在上一篇 Java 网络爬虫,就是这么的简单 中,我们简单的学习了一下如何利用 Java 进行网络爬虫.在这一篇中我们将简单的聊一聊在网络爬虫时,遇到需要登录 ...
- 基本IO操作--字节流
一.InputStream与OutputStream1. 输入与输出 我们编写的程序除了自身会定义一些数据信息外,经常还会引用外界的数据,或是将自身的数据发送到外界.比如,我们编写的程序想读取一个文本 ...
- [Java web] JSP 内置对象
1. Application 服务器启动后产生,所有用户共用一个Application,可以往里面存一些键值对 2. Session 会话对象,第一个JSP页面被装载时自动创建.从一个客户打开浏览器并 ...
- MongoDB 学习笔记之 批处理
批处理: MongoDB批处理方式有2种, 有序插入(有序仍是顺序处理的.发生错误就停止.) 无序插入(无序列表会将操作按类型分组,来提高性能,因此,应确保应用不依赖操作执行顺序.发生错误继续处理剩余 ...
- SQL SERVER数据库,按年、月、日、时、分、秒计算两个时间字段之间的间隔时间样例
使用DATEDIFF(取值,时间字段1,时间字段2) 举例: SELECT DATEDIFF(YEAR,DRYSJ,DCYSJ),* FROM YXHIS2019..TBZYBR2019 --SQL ...
- nm 命令能够显示目标文件中重载函数的名字改变(C++)
#include <stdio.h> #include <iostream> using std::cout; using std::endl; //这里的两个不同的add函数 ...
- python 中的一点新知识
逻辑行与物理行 所谓物理行(Physical Line)是你在编写程序时 你所看到 的内容.所谓逻辑行(Logical Line)是 Python 所看到 的单个语句.Python 会假定每一 物理行 ...
- 机器学习回顾篇(7):决策树算法(ID3、C4.5)
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...