小编ale*_*cxe的帖子

使用SQLAlchemy Core批量插入列表值

我想使用SQLAlchemy Core将字符串列表批量插入MySQL数据库.

engine = create_engine("mysql+mysqlconnector://....
meta = MetaData()
meta.bind = engine
Run Code Online (Sandbox Code Playgroud)

我的表格布局看起来像这样 - 还有两个当前未使用的列(不相关的1/2):

MyTabe = Table('MyTable', meta,
Column('id', Integer, primary_key=True), 
Column('color', Text),
Column('irrelevant1', Text)
Column('irrelevant2', Text))
Run Code Online (Sandbox Code Playgroud)

不幸的是,以下不起作用 - 它插入一个空行.这样做的正确方法是什么?

MyTable.insert().execute(['blue', 'red', 'green'])
Run Code Online (Sandbox Code Playgroud)

python mysql database sqlalchemy

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

重复每个模块组件的模块名称

着名的Angular App Structure最佳实践建议博客文章概述了新推荐的angularjs项目结构,该结构现在面向组件,而不是面向功能,或者在最初的github问题中命名- "按功能组织".

博客文章建议每个模块中的每个文件都应该以模块名称开头,例如:

userlogin/
    userlogin.js
    userlogin.css                
    userlogin.html                
    userlogin-directive.js
    userlogin-directive_test.js
    userlogin-service.js
    userlogin-service_test.js 
Run Code Online (Sandbox Code Playgroud)

问题是:在模块中的每个文件名中重复模块名称的优点和缺点是什么,而不是命名功能的文件?例如:

userlogin/
    userlogin.js
    userlogin.css                
    userlogin.html   
    controllers.js             
    directives.js
    services.js
Run Code Online (Sandbox Code Playgroud)

我问的原因是我来自一个Django项目和应用有一些类似想法的世界.每个应用程序通常都有它自己的models.py,views.py,urls.py,tests.py.脚本名称中没有重复的应用程序名称.

我希望我没有跨越基于意见的路线,并且有正当理由遵循这种方法.

javascript code-organization naming-conventions project-structure angularjs

14
推荐指数
3
解决办法
864
查看次数

使用Python中的BeautifulSoup获取直接父标记

我已经研究过这个问题,但还没有看到解决这个问题的实际解决方案.我正在使用带有Python的BeautifulSoup,我正在寻找的是从页面获取所有图像标记,循环遍历每个标记并检查每个标记以查看它的直接父标记是否为锚标记.

这是一些伪代码:

html = BeautifulSoup(responseHtml)

for image in html.findAll('img'):
    if (image.parent.name == 'a'):
         image.hasParent = image.parent.link
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

html python beautifulsoup html-parsing

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

如何获得量角器可靠的结果?

我正在使用Protractor(v 1.3.1)为我的Angular 1.2.26应用程序运行E2E测试.

但有时,测试是可以的,有时候不是.似乎有时检查是在显示更新之前完成的(或类似"同步"问题).我尝试了很多选择:

  • 添加browser.driver.sleep说明,
  • 禁用效果 browser.executeScript('$.fx.off = true')
  • 添加browser.waitForAngular()说明

没有成功.

使用量角器重新进行E2E测试的最佳做法是什么?

JM.

javascript testing angularjs selenium-webdriver protractor

14
推荐指数
1
解决办法
9669
查看次数

期望()没有实际期望

问题:

最近,在查看我们现有的测试代码库时,我注意到在expect()没有"匹配"部分时使用了一种危险的拼写错误/错误:

expect(page.filters.fromDateLabel.getText(), "After");
Run Code Online (Sandbox Code Playgroud)

我很确定toEqual()这里有用的意思:

expect(page.filters.fromDateLabel.getText()).toEqual("After");
Run Code Online (Sandbox Code Playgroud)

这个问题是jasmine在这种情况下不会失败的预期(很明显,因为实际上并没有预料到).这让我们遇到了一个更严重的问题 - 在测试案例中没有实际测试过 - 它没有任何期望.我们对测试的内容产生了错误的认识.

问题:

我想尽快抓住这些错误.您认为我应该如何处理这个问题?

思考:

  • 如果没有对它做出任何期望(不确定是否jasmine有这样的内置),它会以某种方式使测试用例失败
  • expect()如果"期望"部分没有调用任何内容,则"修补" 并发出警告/引发错误
  • 使用静态代码分析 - 定义自定义eslint规则

javascript testing end-to-end jasmine protractor

14
推荐指数
1
解决办法
778
查看次数

pymongo默认数据库连接

我需要从我的Python代码连接到MongoDB,我唯一拥有的是一个url.每个mongo URL doc我可以指定数据库名称:

mongodb://host/db_name
Run Code Online (Sandbox Code Playgroud)

现在我想使用从URL指定的数据库,并且不想手动解析它以提取数据库的名称.但MongoClient没有访问默认界面的界面.有什么想法如何管理?

python mongodb pymongo

13
推荐指数
1
解决办法
5850
查看次数

在代理服务器后面运行selenium

我一直在使用selenium进行自动浏览器模拟和python中的web抓取,它对我来说效果很好.但现在,我必须在代理服务器后面运行它.因此,现在selenium打开窗口但由于未在打开的浏览器上设置代理设置而无法打开请求的页面.目前的代码如下(样本):

from selenium import webdriver

sel = webdriver.Firefox()
sel.get('http://www.google.com')
sel.title
sel.quit()
Run Code Online (Sandbox Code Playgroud)

如何更改上面的代码现在也可以使用代理服务器?

python proxy selenium web-scraping selenium-webdriver

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

CSV导出 - 使用scrapy crawl -o output.csv对列进行排序

有没有办法使用-o参数指定CSV输出中列的顺序?

它似乎遵循随机顺序,不遵循items.py文件中的顺序或在scrape中填充项目字段.

谢谢!

python csv scrapy web-scraping

13
推荐指数
2
解决办法
4787
查看次数

在Protractor中定义页面对象的规范方法

我们一直在使用Page Object模式.它绝对有助于组织端到端测试并使测试更具可读性和清洁性.

由于使用页面对象来组织测试的量角器文档页面告诉我们,我们定义每一页对象作为一个功能及使用方法new为"实例"吧:

"use strict";

var HeaderPage = function () {
    this.logo = element(by.css("div.navbar-header img"));
}

module.exports = HeaderPage;
Run Code Online (Sandbox Code Playgroud)

用法:

"use strict";

var HeaderPage = require("./../po/header.po.js");

describe("Header Look and Feel", function () {
    var header;

    beforeEach(function () {
        browser.get("/#login");
        header = new HeaderPage();
    });

    it("should show logo", function () {
        expect(header.logo.isDisplayed()).toBe(true);
    });

});
Run Code Online (Sandbox Code Playgroud)

但是,最近在量角器:角度测试变得简单的谷歌测试博客帖子,我注意到页面对象被定义为一个对象:

var angularHomepage = {
    nameInput : element(by.model('yourName')),
    greeting : element(by.binding('yourName')),
    get : function() {
        browser.get('index.html');
    },
    setName : …
Run Code Online (Sandbox Code Playgroud)

javascript testing pageobjects angularjs protractor

13
推荐指数
1
解决办法
430
查看次数

在Protractor/WebDriverJS中拒绝了承诺

WebDriverJS和Protractor本身完全基于承诺的概念:

WebDriverJS(以及Protractor)API完全是异步的.所有功能都返回承诺.WebDriverJS维护一个待处理的承诺队列,称为控制流,以保持执行的有序性.

并且,根据定义:

promise是一个表示值的对象,或者是值的最终计算.每个承诺都以挂起状态开始,可以使用值成功解析,也可以拒绝指定错误.

关于承诺拒绝的最后一部分是我不完全理解并且未在Protractor中处理过的事情.我们看到和编写的一种常见模式是使用then()并为成功解决的承诺提供功能:

element(by.css("#myid")).getAttribute("value").then(function (value) {
    // do smth with the value
});
Run Code Online (Sandbox Code Playgroud)

问题:

是否有可能由任何Protractor/WebDriverJS函数返回的承诺无法成功解决并被拒绝?我们真的应该担心并处理它吗?

javascript testing selenium promise protractor

13
推荐指数
1
解决办法
2144
查看次数