def assert_true(actual, expect)
expect(actual).to eq(expect)
end
def assert_false(actual, expect)
expect(actual).not_to eq(expect)
end
def assert_include(actual, expect)
expect(actual).to include(expect)
end
def assert_not_include(actual, expect)
expect(actual).not_to include(expect)
end
#关闭当前的tab
Driver.close
#获取浏览器的tab数
Driver.window_handles.length
#根据location来点击元素
Driver.action.move_to_location(location_x, location_y).click.perform
#页面scroll up
Driver.execute_script('window.scrollTo(0,0))
#页面scroll down
Driver.execute_script('window.scrollTo(0,document.body.scrollHeight))
#scroll到特定的元素
Driver.execute_script('arguments[0].scrollintoView(), element)
#获取当前的page的url
Driver.current_url
#获取当前浏览器的title
Driver.title
# switch to特定的frame
Driver.switch_to.frame(target)
#返回到原来的frame
Driver.switch_to.default_content
#删除所有的cookies
Driver.manage.delete_all_cookies
#浏览器返回上一页
Driver.navigate.back
# switch to一个新的tab页:
def switch_to_new_window
current_handle = Driver.window_handle rescue nilDriver.window_handles.each do |handle|next if current_handle == handleDriver.switch_to.window(handle)end
end
#在浏览器创建新的tab页,并且输入URL
current_window_handle =Driver.window handle
before_window_handles =Driver.window handles
Driver.execute_script('window.open())
switch_to_new_window
Driver.navigate.to(new_url)
#浏览器页面刷新
Driver.navigate.refresh
#获取页面元素的,X,Y坐标值
target = Driver.find_element(:id,‘elemeny_id_01')
target.rect.y
target.rect.x
#获取元素的个数
target.size
#获取元素的css
target.css_value(attri)
#获取元素的attribute.target.attribute(attri)
字符串是7种序列类型中的一种。除了序列的操作函数,比如len()来求字符串长度之外,Python还为字符串提供丰富到可以写个编辑器的API.
首先,下面的查找API都是为了查找位置,或者查一共有几次这样的操作。
如果只是想判断一个字符串是不是另一个字符串的子串的话,使用序列的in运算符就可以了。
例:
原型:str.count(sub[, start[, end]])
字符串的count函数可以数出来有多少次匹配,我们看个例子,有5个ha和3个hei
输出为5和2.
haha只能匹配两次。
再加上扩展参数:
find函数的行为是,如果能找到,则返回在序列中的坐标,如果找不到,则返回-1. rfind是从右向左查找。我们来看例子:
输出值为0和6.
找不到的例子:
输出值都是-1.
完整形式:
index和rindex的功能与find和rfind基本上一致,除了在找不到时会抛出ValueError异常而不是返回-1.
例:
所以我们需要加try...except语句来处理之:
有时候,我们希望做从头匹配或者匹配尾部。这时候就要用到startswith函数和endswith函数。例:
这两个返回值均为True.
如果需要更复杂的匹配,还是需要正则表达式。与Java等语言不同,Python中的正则表达式有专门的模块,字符串的API不负责这个事情。
什么是API,即应用程序编程接口,也就是在网站开发时预先定义的函数,就是常说的开源函数,只不过将一些固定的程序封装在这些函数中,待调用时只需要一个借口引用,方便又简单。就像调用Jquery函数一样。
发送短信API接口在开源代码里面可以查到,可以直接到开源网站查询即可,如图:
短息接口跟其他接口有所不同,短信接口是由各地运营商收费才能开通。
所以,接口返回成功不代表接收成功,具体接收状态只能由运营商查询,另外,短信api接口本身不限制发送频率,具体发送频率需要用户自行设置。
参数说明如下图二:
在html文件中写入调用接口,并测试,查看是否调用成果,如图显示成果与失败的返回参数。
第五步:C#接入接口
在C#程序中输入以下代码,调用短信接口;
using System
using System.Collections.Generic
using System.Linq
using System.Text
using System.Net
using System.IO
using Xfrog.Net
using System.Diagnostics
using System.Web
如图:(关于C#程序的创建,不再演示)
第六步:申明调用空间
每个函数都需要事先声明才能调用,所以,在程序开始时,必须声明命名空间
namespace ConsoleAPI
{
}
如图:
第七步:定义请求方法
程序的调用方法一般为Post和Get两种,所以要申明用什么调用,关于Post和Get的区别,本处不作重点介绍。如图:
第八步:创建请求函数
声明请求方式之后,即可创建请求函数,包括发送语言,延时响应等参数,如图:
第九步:请求参数及文本转换
设置相关参数后,将程序编码转换为文字编码,这样接收方才能正常显示文字,否则就是一段代码,行外人是看不懂的,所以,必须将数据流转换为文本对象。代码如图:
第十步:释放资源并测试
写程序调用时,不管是什么程序,在调用完之后一定要释放程序,否则将会一直占用资源,消耗内存。如图: