IronPython应用之WebAPI(Web测试,AutoPyTest自动化测试)_ironpython webapi-程序员宅基地

技术标签: python  comments  import  web  测试  WEB开发测试  PYTHON编程  自动化工具框架  encoding  .NET编程  

(一)辅助工具推荐

Python脚本编辑器:推荐CodeAssistor(AutoPyTest独立工具Plugs目录下)

(二)Python脚本例子

import clr, sys
clr.AddReference("SgmlReaderDll")
clr.AddReference("System.Xml")
clr.AddReference('IronPythonTest')

from IronPythonTest import *
from Sgml import *
from System.Net import *
from System.IO import TextReader,StreamReader
from System.Xml import *
from System.Text.UnicodeEncoding import UTF8

def fromHtml(textReader):
    sgmlReader = SgmlReader()
    sgmlReader.SystemLiteral = "C:\\Users\\NHN\\Documents\\Visual Studio 2010\\Projects\\IronPythonTest\\IronPythonTest\\bin\\Debug\\html.dtd"
    sgmlReader.WhitespaceHandling = WhitespaceHandling.All
    sgmlReader.CaseFolding = CaseFolding.ToLower
    sgmlReader.InputStream = textReader
   
    doc = XmlDocument()
    doc.PreserveWhitespace = True
    doc.XmlResolver = None
    doc.Load(sgmlReader)
    return doc
def getWebData(url, method, data = None, cookie = None, encoding = "UTF-8"):
    req = WebRequest.Create(url)
    req.Method = method
   
    if cookie != None:
        req.CookieContainer = cookie
   
    if data != None:
        stream = req.GetRequestStream()
        stream.Write(data, 0, data.Length)
       
    rsp = req.GetResponse()
    reader = StreamReader(rsp.GetResponseStream(), UTF8.GetEncoding(encoding))
    return reader

class Post:
    def __init__(self, hit, comments, title, link, author):
        self.hit = hit
        self.comments = comments
        self.title = title
        self.link = link
        self.author = author

class BaiDu:
    def __init__(self,encoding):
        self.cc = self.cc = CookieContainer()
        self.encoding = encoding
        self.posts = []
    def getPosts(self, url):
        reader = getWebData(url, "GET", None, self.cc, self.encoding)
        doc = fromHtml(reader)
        trs = doc.SelectNodes("html//table[@id='thread_list_table']/tbody/tr")
        self.parsePosts(trs)
    def parsePosts(self, trs):
        for tr in trs:           
            tds = tr.SelectNodes("td")
            hit = tds[0].InnerText
            comments = tds[1].InnerText
            title = tds[2].ChildNodes[1].InnerText
            link = tds[2].ChildNodes[1].Attributes["href"]
            author = tds[3].InnerText
           
            post = Post(hit, comments, title, link, author)
            self.posts.append(post)
           
baidu = BaiDu('GBK')
baidu.getPosts('http://tieba.baidu.com/f?kw=seo')
result = ''
for post in baidu.posts:
    result = result + post.title + ' (回复数:' + post.comments + ')(点击数:' + post.hit + ')[作者:' + post.author + ']\n'
#Ipy_this.txtScript.Text = result
#C#收到最后一行返回值
result + ''

(三)界面和效果

AutoPyTest获取:

资源下载:http://download.csdn.net/detail/w565911788/4323928(自解压绿色安装包)

需安装环境:dotNetFx40_Full_x86_x64.exe; IronPython-2.7.2.1.msi; (或以上)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/w565911788/article/details/7594779

智能推荐

H5实时上传位置定位 pc生成轨迹;h5保持后台运行_h5后台持续定位功能-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏16次。解决方案 1 /* *若通过用户操作获取定位无需实时上传定位 可用一下代码 相对定位更加准确 *若需求是生成轨迹 如:滴滴打车 顺风车 运动轨迹 以下代码不可行 *在息屏 或 代码再后台运行时 改代码 无法获取定位信息 */ navigator.geolocation.getCurrentPosition(onSuccess , onError,{ enableHighAcuracy : true,// 指示浏览器获取高精度的位置,默认为false _h5后台持续定位功能

BugKu——Web——社工-伪造_ctf bugku平台web社工-程序员宅基地

文章浏览阅读438次。BugKu——Web——社工1.输入QQ号进行聊天2.试了好久,都没试出来,就扫描了一下目录3.发现三个目录都一样4.试了很久,试出来一个账号可以使用:[email protected].进去之后,知道了小美的男朋友的QQ号3375881738,使用手机QQ识别一波6.知道了它男朋友的头像,还有一个重要的信息,她男朋友的昵称7.使用自己的QQ号伪造,昵称和头像,发送flag,即可获得flag8.参考链接:https://blog.csdn.net/tanyurong18/artic_ctf bugku平台web社工

快速在你的vue/react应用中实现ssr(服务端渲染)-程序员宅基地

文章浏览阅读1.4k次。前言我们都知道, Vue和React是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出自定义组件,进行生成 DOM 和操作 DOM, 也就是我们常说的客户端渲染, 并且我们大部分..._可以通过服务端渲染技术 ssr (react - next / vue - nuxt)

[附源码]SSM计算机毕业设计商务酒店管理系统JAVA_ssm商务系统-程序员宅基地

文章浏览阅读100次。项目运行环境配置:(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可4._ssm商务系统

web前端大一实训~制作卡布漫画网站设计与实现(HTML+CSS+JavaScript)_前端可以学动漫设计吗-程序员宅基地

文章浏览阅读1.1w次,点赞9次,收藏66次。web前端大一实训~制作卡布漫画网站设计与实现 (HTML+CSS+JavaScript)学生动漫网页设计模板下载 卡不漫画大学生HTML网页制作作品 简单漫画网页设计成品 dreamweaver学生网站模板HTML网页设计制作大作业-供包含卡布首页 动漫分类 章节页 用户中心 等4个页面原始HTML+CSS+JS页面设计,可以学习学习,大学网页设计作业,~这是一个不错的网页制作,画面精明,非常适合初学者学习使用。网页制作介绍关于动漫的HTML网页制作,,HTML期末作业大作业A+水平!!主要特_前端可以学动漫设计吗

Flume 详细使用文档及案例_flume中文文档-程序员宅基地

文章浏览阅读987次。Apache Flume 是一个分布式、可靠、高可用的系统,用于在大规模数据源和数据存储之间高效地收集、聚合和移动数据。Flume 支持多种数据源和数据存储,可以根据需要配置多个数据源和数据存储,并通过不同的数据通道将数据传输到数据存储中。_flume中文文档

随便推点

你还在为-TCP-重传、滑动窗口、流量控制,大厂必备-程序员宅基地

文章浏览阅读44次。上图中有两种超时时间不同的情况:当超时时间 RTO 较大时,重发就慢,丢了老半天才重发,没有效率,性能差;当超时时间 RTO 较小时,会导致可能并没有丢就重发,于是重发的就快,会增加网络拥塞,导致更多的超时,更多的超时导致更多的重发。精确的测量超时时间 RTO 的值是非常重要的,这可让我们的重传机制更高效。根据上述的两种情况,我们可以得知,超时重传时间 RTO 的值应该略大于报文往返 RTT 的值。至此,可能大家觉得超时重传时间&n

Redis 核心知识点(持续更新中)-程序员宅基地

文章浏览阅读525次,点赞3次,收藏9次。7、volatile-lfu(least frequently used):从已设置过期时间的数据集(server.db[i].expires)中挑选最不经常使用的数据淘汰。1、volatile-lru(least recently used):从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰。2、volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰。这个应该没人使用吧!

python职业规划书_Python学习过后,职业规划怎样规划?-程序员宅基地

文章浏览阅读903次。机器学习的快速兴起下,Python逐步成为其开发的主要编程语言,简单易用的特点使得Python不仅成为了机器学习和数据科学的开发语言,同时在数据爬取、Web开发等多个方面也发挥着重要的作用。那么在Python行业前景迅猛发展的今天,Python行业晋升路线如何规划呢?Python语言在企业中应用越来越广泛,Python开发工程师的职业发展也更加宽广,并且随着工作经验的不断积累,Python从业者未..._python程序员职业规划

后台系统+elementUI的分页器功能的实现及相关问题的解决-程序员宅基地

文章浏览阅读1.2k次,点赞38次,收藏21次。table 是支持高度设置的:height Table 的高度,默认为自动高度。如果 height 为 number 类型,单位 px;如果 height 为 string 类型,则这个高度会设置为 Table 的 style.height 的值,Table 的高度会受控于外部样式。首先给父盒子添加一个90&的高度,然后在table组件添加 height="90%",给它一个90%的高度。就会跟着外部盒子的大小而改变。

关于火绒安装,出现版本过低问题的解决办法_你的操作系统必须升级到 火绒-程序员宅基地

文章浏览阅读1.6w次。**问题:**在安装火绒时,提示版本过低解决办法:在火绒安装程序上右键,选“属性”,在“兼容性”标签下勾选“以兼容模式运行这个程序”,我选择“windows8”模式后就可以这正常安装了。安装后使用及杀毒功能都正常..._你的操作系统必须升级到 火绒

基于SpringBoot+Vue+uniapp的高校毕业生离校管理系统的详细设计和实现(源码+lw+部署文档+讲解等)_基于springboot和vue高校毕业生离校系统开发语言-程序员宅基地

文章浏览阅读928次,点赞25次,收藏21次。博主介绍:全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战精彩专栏 推荐订阅2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐2023-2024年最值得选的Java毕业设计选题大全:500个热门选题推荐Java精品实战案例《500套》微信小程序项目精品案例《500套》文末获取源码+数据库。_基于springboot和vue高校毕业生离校系统开发语言