首页 > 其他分享 >【4】有道云任务二--增加笔记

【4】有道云任务二--增加笔记

时间:2023-02-27 22:00:38浏览次数:52  
标签:-- 有道 driver 笔记 find note element com id

 

 

 

 

 

 

 

 

 

work2_addnote.py

# #添加笔记的测试
#
# # 导入appium类库
# from appium.webdriver.webdriver import WebDriver
# import time
# from selenium import webdriver
# from selenium.webdriver.support.wait import WebDriverWait
#
# caps={}
# caps['automationName']='UiAutomator2'
# caps['platformName']='Android'
# caps['platformVersion']='6.0'
# caps['deviceName']='192.168.141.101:5555'
# caps['appPackage']='com.youdao.note'
# caps['appActivity']='.activity2.MainActivity t362'
#
# driver=WebDriver('http://127.0.0.1:4723/wd/hub',caps)
# driver.implicitly_wait(10)
# el=WebDriverWait(driver,10).until(lambda x:x.find_element_by_id('com.android.packageinstaller:id/permission_allow_button'))
# if el:
# #点击允许按钮
# driver.find_element_by_id('com.android.packageinstaller:id/permission_allow_button').click()
# #点击新增按钮
# time.sleep(2)
# driver.find_element_by_id('com.youdao.note:id/add_note').click()
# #点击新建笔记
# time.sleep(2)
# driver.find_element_by_id('com.youdao.note:id/add_note_floater_add_note').click()
# #点击取消按钮
# time.sleep(2)
# driver.find_element_by_id('com.youdao.note:id/btn_cancel').click()
# #输入内容
# time.sleep(2)
# #driver.find_element_by_class_name('android.widget.EditText').send_keys('testcontex1231')
# driver.find_element_by_xpath("//*[@resource-id='com.youdao.note:id/note_content']/android.widget.EditText").send_keys('testcontex1231')
#
# #输入标题
# time.sleep(2)
# driver.find_element_by_id('com.youdao.note:id/note_title').send_keys('testtitle')
# #点击完成按钮
# time.sleep(2)
# driver.find_element_by_class_name('android.support.v7.widget.LinearLayoutCompat').click()
#
#
#V1.0 实现新增笔记测试
# # 导入appium类库
import unittest

from appium.webdriver.webdriver import WebDriver
import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait

class yd_addnote(unittest.TestCase):
def setUp(self):
self.caps = {}
self.caps['automationName']='UiAutomator2'
self.caps['platformName']='Android'
self.caps['platformVersion']='6.0'
self.caps['deviceName']='192.168.141.101:5555'
self.caps['appPackage']='com.youdao.note'
self.caps['appActivity']='.activity2.MainActivity t362'

self.driver=WebDriver('http://127.0.0.1:4723/wd/hub',self.caps)
self.driver.implicitly_wait(10)
pass

#进行新增笔记的测试
def test_addnote(self):
el = WebDriverWait(self.driver, 10).until(
lambda x: x.find_element_by_id('com.android.packageinstaller:id/permission_allow_button'))
if el:
#点击允许按钮
self.driver.find_element_by_id('com.android.packageinstaller:id/permission_allow_button').click()
#点击新增按钮
self.driver.find_element_by_id('com.youdao.note:id/add_note').click()
#点击新建笔记
self.driver.find_element_by_id('com.youdao.note:id/add_note_floater_add_note').click()
#点击取消按钮
self.driver.find_element_by_id('com.youdao.note:id/btn_cancel').click()
#输入内容
#driver.find_element_by_class_name('android.widget.EditText').send_keys('testcontex1231')
self.driver.find_element_by_xpath("//*[@resource-id='com.youdao.note:id/note_content']/android.widget.EditText").send_keys('testcontex1231')

#输入标题
self.driver.find_element_by_id('com.youdao.note:id/note_title').send_keys('testtitle')
#点击完成按钮
self.driver.find_element_by_class_name('android.support.v7.widget.LinearLayoutCompat').click()

# def test_addnote_flow(self,driver):
# el = WebDriverWait(driver, 10).until(
# lambda x: x.find_element_by_id('com.android.packageinstaller:id/permission_allow_button'))
# if el:
# # 点击允许按钮
# driver.find_element_by_id('com.android.packageinstaller:id/permission_allow_button').click()
# # 点击新增按钮
# driver.find_element_by_id('com.youdao.note:id/add_note').click()
# # 点击新建笔记
# driver.find_element_by_id('com.youdao.note:id/add_note_floater_add_note').click()
# # 点击取消按钮
# driver.find_element_by_id('com.youdao.note:id/btn_cancel').click()
# # 输入内容
# # driver.find_element_by_class_name('android.widget.EditText').send_keys('testcontex1231')
# driver.find_element_by_xpath(
# "//*[@resource-id='com.youdao.note:id/note_content']/android.widget.EditText").send_keys(
# 'testcontex1231')
#
# # 输入标题
# driver.find_element_by_id('com.youdao.note:id/note_title').send_keys('testtitle')
# # 点击完成按钮
# driver.find_element_by_class_name('android.support.v7.widget.LinearLayoutCompat').click()
def check_addnote(self):
title=self.driver.find_element_by_id('com.youdao.note:id/title').text
print(title)

if __name__ == '__main__':

yd_addnote_obj=yd_addnote()
yd_addnote_obj.test_addnote()
yd_addnote_obj.check_addnote()

 work2_addnote2.py

#V2.0 从文件中读取测试数据进行新增笔记的测试
import time

from youdaoproject.work2_addnote import yd_addnote
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
import csv

#定义一个子类
class yd_addnoteV2(yd_addnote):
def test_addnote(self,title,content):
el = WebDriverWait(self.driver, 10).until(
lambda x: x.find_element_by_id('com.android.packageinstaller:id/permission_allow_button'))
if el:
# 点击允许按钮
self.driver.find_element_by_id('com.android.packageinstaller:id/permission_allow_button').click()
# 点击新增按钮
self.driver.find_element_by_id('com.youdao.note:id/add_note').click()
# 点击新建笔记
self.driver.find_element_by_id('com.youdao.note:id/add_note_floater_add_note').click()
# 点击取消按钮
self.driver.find_element_by_id('com.youdao.note:id/btn_cancel').click()
# 输入内容
# driver.find_element_by_class_name('android.widget.EditText').send_keys('testcontex1231')
self.driver.find_element_by_xpath(
"//*[@resource-id='com.youdao.note:id/note_content']/android.widget.EditText").send_keys(
content)

# 输入标题
self.driver.find_element_by_id('com.youdao.note:id/note_title').send_keys(title)
# 点击完成按钮
self.driver.find_element_by_class_name('android.support.v7.widget.LinearLayoutCompat').click()
# list=self.driver.find_elements_by_class_name("")
# list.__len__()
time.sleep(5)
# def click(self):
# self.driver.find_element_by_class_name('android.widget.RelativeLayout').click()
# self.driver.get_screenshot_as_file("aaa.png")
def check_addnote(self,title):
rtitle = self.driver.find_element_by_id('com.youdao.note:id/title').text
if(rtitle==title):
return 1
else:
return 0
if __name__ == '__main__':
yd_addnote_obj2 = yd_addnoteV2()
#打开csv文件
file=open("addnotedata.csv","r")
tables=csv.reader(file)

#以写模式打开测试报告文件
file2=open("addnotetest.csv","w",newline='')
writer=csv.writer(file2)

for rows in tables:
# dic[rows[0]]=rows[1]
# print(dic)

title=rows[0]
content=rows[1]
#调用新增笔记测试方法
yd_addnote_obj2.test_addnote(title,content)
#检查新增是否正确
r=yd_addnote_obj2.check_addnote(title)
if r:
rows.append('测试通过')
writer.writerow(rows)
else:
rows.append('测试失败')
writer.writerow(rows)
#yd_addnote_obj2.click()

file2.close()

 

 

 

 work2_addnote3.py

# # 导入appium类库
from appium.webdriver.webdriver import WebDriver
import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait

class yd_addnotev3:
def test_addnote(self,driver):

el = WebDriverWait(driver, 10).until(
lambda x: x.find_element_by_id('com.android.packageinstaller:id/permission_allow_button'))
if el:
#点击允许按钮
driver.find_element_by_id('com.android.packageinstaller:id/permission_allow_button').click()
#点击新增按钮
driver.find_element_by_id('com.youdao.note:id/add_note').click()
#点击新建笔记
driver.find_element_by_id('com.youdao.note:id/add_note_floater_add_note').click()
#点击取消按钮
driver.find_element_by_id('com.youdao.note:id/btn_cancel').click()
#输入内容
#driver.find_element_by_class_name('android.widget.EditText').send_keys('testcontex1231')
driver.find_element_by_xpath("//*[@resource-id='com.youdao.note:id/note_content']/android.widget.EditText").send_keys('testcontex1231')

#输入标题
driver.find_element_by_id('com.youdao.note:id/note_title').send_keys('testtitle')
#点击完成按钮
driver.find_element_by_class_name('android.support.v7.widget.LinearLayoutCompat').click()

def check_addnote(self,driver):
title=driver.find_element_by_id('com.youdao.note:id/title').text
print(title)

 

 

 

 

标签:--,有道,driver,笔记,find,note,element,com,id
From: https://www.cnblogs.com/zhangyideyl/p/17162054.html

相关文章

  • 自定义浏览器默认右键菜单
    取消原生右键事件在main.ts函数中取消浏览器默认右键菜单:window.oncontextmenu=()=>{returnfalse;};组件模板做一个不同区域右键点击之后不同菜单项的组件......
  • ip地址、子网掩码、网关
    IP地址IPv4IP地址=网络地址+主机地址(又称:主机号和网络号组成)IP地址192.168.1.168,子网掩码255.255.255.0作为示例:192.168.100.168(IP地址)=192.168.1.0(网络......
  • 接口测试工具POSTMAN的使用
    接口测试工具postmanpython------------------------------------作为后端,写好了接口,我们自己要测试通过,再给别人用------------------------------------写的接口,......
  • 【题解】P3747 [六省联考 2017] 相逢是问候
    思维难度作为一道省选题还是有待商榷,但是代码确实挺恶心的。记一下这种有关无穷层幂嵌套(无穷幂塔)的套路。思路扩展欧拉定理+线段树。首先看到不断嵌套幂并且模数较大......
  • C语言:判断平方数
    //题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?//1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如......
  • 2023/2/27号周一总结
     今天上午没课,在宿舍呆了一上午,写作业和练习编代码。下午是建民老师的课,老师讲了一些关于软件工程的知识和让我们做了一个将文章里单词首尾字母相连最长的单词链这样一个......
  • hystrix学习(一)之Command Properties之Execution
        一、HystrixCommand.run执行时会用到isolation.strategy:有两个选项二选一:1、线程:在单独的线程上执行,并发请求受线程池中线程数的限制2、信号量:在......
  • npm是使用
    常用命令npmviewXXXversions:获取插件在npm上的所有版本开发中遇到的问题误删:npm被误卸载,需要卸载node,在重新安装node,参考:https://blog.csdn.net/huangpb123/ar......
  • 学习进度
    今天学习了5小时的Java,总代码量1368行,我对课上的英语单词链进行了深度的练习。除此之外,在晚上的时间,我对androidstudio进行了学习。我安装了sqlite数据库,并且实现了在Andro......
  • C语言:奖金 提成
    //题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40......