应用场景:项目组要将原有SeleniumLibrary写的脚本切换到Selenium2Library(后称S2L)下,但是原来有很多Java写的库,综合考虑认为还是在Jython下跑比较合适。但是安装S2L后,pybot下运行正常,jybot下报No module found错误。

解决问题过程:

1.怀疑Jython没有自动把这些包引进去。查看pythonpath,发现果然没有将第三方的egg包囊括。为了省事儿,将selenium和selenium2library两个模块从各自的egg目录拿出,直接放到了site-package目录下。

2.运行后可以找到库了,但是python带的json包抛了一个错误,仍旧不能运行。

3.但是python的发布包基本上不会有bug,而且,那个产生bug上一行的地方竟然有一行被注释了的老代码,试着还原老代码,注释新代码,旧问题消失。但又产生了新bug。。是在selenium包中。

4.觉得碰到了代码不兼容现象。百度搜索和bing搜索:“jybot selenium” 无任何有意义结果。尝试继续改代码,半小时后放弃,因为产生雪崩效应了。

5.静下心来思索,如果在pybot上运行正确,则说明selenium代码没有大的问题,唯一有可能的是jython引起的区别。可能selenium 用了一些python2.6或者2.7规范中的新语法特性,或者新库,但是目前流行的jython2.5.2版本并不支持。

6.下载了jython2.7的alpha版本安装。

7.运行jybot ,一切OK。

后续思考:

1.问题分析思路还算对路。

2.FQ用google搜索,jython selenium,查阅了StackOverFlow网站上的一些类似问题,终于在一个贴子里找到了跟我类似的问题,并有人给出了同样的解决方式。

3.如果有时间,应该好好看一下jython工作原理。

4.习总书记说:“我们的事业是向世界开放学习的事业。关起门来搞建设不可能成功。我们要坚持对外开放的基本国策不动摇,不封闭、不僵化,打开大门搞建设、办事业。” GFW是不是应该把这些被错误封杀的技术网站都解封了呢?IT工作者都会感谢你们的!

在jybot下跑Selenium2Library的更多相关文章

  1. 在Mac环境下跑汇编

    今天汇编作业做到第七章,就想在Mac下跑自己的asm程序,看到了一个很好的教程: http://www.raywenderlich.com/37181/ios-assembly-tutorial 虽然 ...

  2. ubuntu12.04+fuerte 下跑通lsd-slam——使用usb摄像头

    上一篇介绍了如何使用数据集跑lsd-slam,这篇介绍如何用一个普通的usb摄像头跑lsd-slam,默认ubuntu12.04,fuerte已经安装好,workspace也已设置,如果没有,请参考上 ...

  3. Spark- Spark Yarn模式下跑yarn-client无法初始化SparkConext,Over usage of virtual memory

    在spark yarn模式下跑yarn-client时出现无法初始化SparkContext错误. // :: INFO mapreduce.Job: Task Id : attempt_142829 ...

  4. 《Caffe下跑AlxNet之数据处理过程》

    环境:Windows 最近用Caffe跑了一下AlxNet网络,现在总结一下数据处理部分:(处理过的数据打包链接:http://pan.baidu.com/s/1sl8M5ad   密码:ph1y) ...

  5. hadoop下跑mapreduce程序报错

    mapreduce真的是门学问,遇到的问题逼着我把它从MRv1摸索到MRv2,从年前就牵挂在心里,连过年回家的旅途上都是心情凝重,今天终于在eclipse控制台看到了job completed suc ...

  6. ubuntu12.04+fuerte 下跑通lsd-slam——数据集

    lsd-slam(下载链接:https://github.com/tum-vision/lsd_slam)提供了两种方法,一种是用数据集(下载地址http://vision.in.tum.de/lsd ...

  7. Linux下跑程序,防止命令终端(断网,断电)

    有时候我们在服务器上跑程序,会发现当我们离开窗口时,正在执行的程序中断了,这让人非常郁闷.下面介绍防止程序中断的方法: 新建一个名为yourname的Screen窗口: screen -S yourn ...

  8. caffe学习一:ubuntu16.04下跑Faster R-CNN demo (基于caffe). (亲测有效,记录经历两天的吐血经历)

    兜兜转转,兜兜转转; 一次有一次,这次终于把Faster R-CNN 跑通了. 重要提示1:在开始跑Faster R-CNN之前一定要搞清楚用的是Python2 还是Python3. 不然你会无限次陷 ...

  9. 加载selenium2Library失败---robotframework环境搭建(site-packages下无selenium2library文件夹)

    加载Selenium2library失败,检查D:\Python27\Lib\site-packages 目录下是否有Selenium2Library 目录,没有该目录,事情就尴尬了. 自己安装的版本 ...

随机推荐

  1. mysql里group by按照分组里的内容的排序

    得到一张表里按u_id分组,按count(id)排序,每个分组的pub_time最大的哪些记录,只取count(id)最大的4条 select a.u_id,a.name,a.u_name,a.id, ...

  2. GetPrivateProfileStringA的文件名要小心写

    ::GetPrivateProfileStringA("REMOTE", "host", "http://xxx.comftp.php", ...

  3. AsciiDoc

    AsciiDoc Text based document generation AsciiDoc Home Page Table of Contents Introduction Overview a ...

  4. 工具栏ToolStrip能触发焦点控件的Leave、Validating、DataError等事件以验证数据 z

    public class ToolStripEx : ToolStrip { protected override void OnClick(EventArgs e) { base.OnClick(e ...

  5. OFBIZ文章

    0. OFBIZ Tutorials 1. A Tour of OFBiz 2. Entities and Services - Data Models and Business Logic in O ...

  6. [转]linux之partprobe命令

    转自:http://www.7edown.com/edu/article/soft_48647_1.html linux上,在安装系统之后,可否创建分区并且在不重新启动机器的情况下系统能够识别这些分区 ...

  7. 【DWT笔记】傅里叶变换与小波变换

    [DWT笔记]傅里叶变换与小波变换 一.前言 我们经常接触到的信号,正弦信号,余弦信号,甚至是复杂的心电图.脑电图.地震波信号都是时域上的信号,我们也成为原始信号,但是通常情况下,我们在原始信号中得到 ...

  8. effective c++:virtual函数的替代方案

    绝不重新定义继承来的缺省值 首先明确下,虚函数是动态绑定,缺省参数值是静态绑定 // a class for geometric shapes class Shape { public: enum S ...

  9. vim 配置语法高亮 行号标示

    配置VIM主要是开启VIM的语法高亮和行号标示,因为默认在用户目录(~)下没有vimrc,所以需要先去复制一个,然后再编辑 cp /etc/vim/vimrc ~/.vimrc vim .vimrc ...

  10. 使用Go开发一个简单的服务器程序

    最近有个小项目,需要一个简单的后台程序来支撑,本来想用Nodejs来做,但是由于本人js一直很菜,并且很讨厌callback,虽然我也很喜欢异步模型,但我一直都觉得JS是反人类的.后台就用了go处理, ...