小编ale*_*cxe的帖子

什么是更快 - 加载酸洗字典对象或加载JSON文件 - 到字典?

什么是更快:

(A)'Unpickling'(正在加载)一个酸洗字典对象,使用 pickle.load()

要么

(B)使用将JSON文件加载到字典 simplejson.load()

假设:在案例A中已存在pickle对象文件,并且在案例B中已存在JSON文件.

python json simplejson pickle

10
推荐指数
1
解决办法
7750
查看次数

如何测试在具有nosetests的函数中调用函数

我正在尝试为项目设置一些自动单元测试.我有一些功能,作为副作用偶尔会调用另一个功能.我想写一个单元测试,测试第二个函数被调用,但我很难过.下面是伪代码示例:

def a(self):
    data = self.get()
    if len(data) > 3500:
        self.b()

    # Bunch of other magic, which is easy to test.

def b(self):
    serial.write("\x00\x01\x02")
Run Code Online (Sandbox Code Playgroud)

我该如何测试b()-gets调用?

python testing unit-testing nosetests

10
推荐指数
1
解决办法
2万
查看次数

可以在xlsxwriter中更改工作表顺序吗?

我有一个脚本按顺序创建以下几对工作表:

WorkSheet (holds data) -> ChartSheet using WorkSheet
Run Code Online (Sandbox Code Playgroud)

脚本完成后,我留下了如此订购的工作表:

Data1, Chart1, Data2, Chart2, Data3, Chart3, ...
Run Code Online (Sandbox Code Playgroud)

是否可以在脚本末尾(即之前workbook.close())重新排序工作表,以在最终的.xlsx文件中获取以下工作表顺序?

Chart1, Chart2, Chart3,...,ChartN, Data1, Data2, Data3,...
Run Code Online (Sandbox Code Playgroud)

python excel xlsxwriter

10
推荐指数
3
解决办法
6617
查看次数

检测源代码中的SQL注入

请考虑以下代码段:

import MySQLdb

def get_data(id):
    db = MySQLdb.connect(db='TEST')
    cursor = db.cursor()
    cursor.execute("SELECT * FROM TEST WHERE ID = '%s'" % id)

    return cursor.fetchall()

print(get_data(1))
Run Code Online (Sandbox Code Playgroud)

代码中存在一个主要问题 - 它容易受到SQL注入攻击,因为查询不是通过DB API参数化的,而是通过字符串格式化构建的.如果以这种方式调用函数:

get_data("'; DROP TABLE TEST -- ")
Run Code Online (Sandbox Code Playgroud)

将执行以下查询:

SELECT * FROM TEST WHERE ID = ''; DROP TABLE TEST --  
Run Code Online (Sandbox Code Playgroud)

现在,我的目标是分析项目中的代码并检测可能容易受到SQL注入攻击的所有位置.换句话说,查询是通过字符串格式构造的,而不是在单独的参数中传递查询参数.

在静态代码分析软件包的帮助下pylint,它是否可以静态解决pyflakes


我知道sqlmap流行的渗透测试工具,但据我所知,它正在对抗Web资源,通过HTTP请求将其作为黑盒进行测试.

python sql security sql-injection static-code-analysis

10
推荐指数
2
解决办法
4647
查看次数

量角器故障排除

在量角器1.5.0中,引入了一个新--troubleshoot标志,目前没有正确记录,但在更新日志中它指出:

改进错误消息并在何时添加调试信息

  • 无法解析配置文件
  • 无法启动webdriver会话
  • 使用元素找到多个元素

--troubleshoot命令行参数涵盖哪些用例?


我问的原因是这有点令人困惑:

  • 它不应该默认启用吗?因为如果存在上面列出的错误,那么获得有关错误的其他信息会很有帮助.
  • 还有相关--verbose--stackTrace标志.它们是否也与调试和故障排除有关?

testing debugging end-to-end angularjs protractor

10
推荐指数
1
解决办法
864
查看次数

断言元素是重点

根据我如何断言元素是集中的?线程,您可以通过切换到a来检查元素是否被聚焦activeElement()并断言这与您期望获得焦点的元素相同:

expect(page.element.getAttribute('id')).toEqual(browser.driver.switchTo().activeElement().getAttribute('id'));
Run Code Online (Sandbox Code Playgroud)

在我的例子中,当前关注的元素没有id属性.

我应该怎么做而不是检查id

额外的问题:另外,正如你从我试图解决它看到的那样,看起来我不能指望/断言一个元素(或web元素)作为一个完整的对象.为什么?


我试过了:

expect(page.element).toEqual(browser.driver.switchTo().activeElement());
Run Code Online (Sandbox Code Playgroud)

但是失败的是我甚至无法理解的错误 - 有一个巨大的追溯(在控制台中滚动约10分钟),但内部没有用户友好的错误.

我也试过用getWebElement():

expect(page.element.getWebElement()).toEqual(browser.driver.switchTo().activeElement());
Run Code Online (Sandbox Code Playgroud)

但是这导致了以下错误:

错误:期望使用WebElement参数调用,期望是Promise.你的意思是使用.getText()吗?

使用最新的量角器开发版本.

javascript testing end-to-end angularjs protractor

10
推荐指数
1
解决办法
4140
查看次数

使用ng-describe进行量角器的端到端测试

我最近发现了一个很棒的ng-describe软件包,它通过抽象掉你必须记住/查找和编写的所有样板代码来加载,注入,模拟或间谍,从而使AngularJS应用程序的单元测试非常透明.

有人试过ng-describeprotractor吗?它是否有意义,我们可以从中受益吗?


引起我注意的一件事是你可以轻松地模拟HTTP响应:

ngDescribe({
  inject: '$http', // for making test calls
  http: {
    get: {
      '/my/url': 42, // status 200, data 42
      '/my/other/url': [202, 42], // status 202, data 42,
      '/my/smart/url': function (method, url, data, headers) {
        return [500, 'something is wrong'];
      } // status 500, data "something is wrong"
    }, 
    post: {
      // same format as GET
    }
  },
  tests: function (deps) {
    it('responds', function (done) {
      deps.$http.get('/my/other/url')
        .then(function (response) {
          // response.status …
Run Code Online (Sandbox Code Playgroud)

javascript testing angularjs protractor ngdescribe

10
推荐指数
1
解决办法
338
查看次数

如何从selenium中的href链接获取属性值

我想从"a href"属性获取链接

<a href="http://fgkzc.downloader.info/download.php?id=bc56585624bbaf29ebdd65d0248cb620" rel="nofollow" class="dl_link 1" style="">Download</a>
Run Code Online (Sandbox Code Playgroud)

我在做什么:

ReadOnlyCollection<IWebElement> lists1 = driver.FindElements(By.ClassName("dl_link"));

string s = lists1[0].GetAttribute("a href");
Run Code Online (Sandbox Code Playgroud)

我正在使用类"dl_link 1"获取元素,但我无法获取它的链接,字符串为空?

c# selenium selenium-webdriver

10
推荐指数
1
解决办法
2万
查看次数

量角器 - 启动chrome with以禁用cors的web安全性

所以我们的应用程序在生产中启用了CORS.

我有一个不在本地启用CORS的项目.有没有办法禁用量角器的Web安全性?有没有办法让我为selenium实例添加参数?

我们正在寻找基于配置的解决方案.我们的本地开发机器非常依赖我们可以安装的东西.这可能吗?

我试过的是设置chrome选项: https //github.com/angular/protractor/issues/175

但这似乎只用于chrome扩展.

javascript selenium google-chrome selenium-webdriver protractor

10
推荐指数
1
解决办法
7309
查看次数

什么是Protractor/WebDriverJS中的by.js定位器?

最近,我注意到了一个新的定位器被添加到Protractor文档中 - by.js():

通过计算JavaScript表达式来定位元素,该表达式可以是函数或字符串.

我理解这个定位器提供了什么,但是当这个定位器很有时,我错过了真实的用例.我应该何时使用by.js而不是使用其他内置定位器by.css

javascript testing selenium selenium-webdriver protractor

10
推荐指数
2
解决办法
1583
查看次数