小编use*_*124的帖子

AutoIt就像Java的GUI自动化工具

我需要自动化我的模块插入的软件的UI测试.我无法访问主机的代码,所以我需要像AutoIt这样的东西.由于AutoIt不能与Swing一起使用,是否有基于JAVA的应用程序的AutoIt GUI自动化工具?

java swing automation

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

我可以使用哪种脚本工具来自动测试Delphi程序?

我正在寻找一种自动化测试工具.我将使用脚本进行测试,而不仅仅是自动化,这意味着它不能只发送一些按键.它需要检查应用程序的窗口以查看它是否已正确更新.越便宜越好,成本没有下行限制.;-)

我需要一个真正的语言,包括函数,变量,循环,分支等,并且应用程序是用Delphi开发的.

我需要能够聚焦控件*,等待窗口出现,搜索控件/窗口,发送键盘输入并检查各种窗口/控件是否已更改状态(例如,现在禁用了一个按钮,文本框包含正确的文本,打开一个对话框,等等.

几年前我曾经使用AutoIt,现在又回到脚本编写.我想知道在我离开的时候是否有任何新的发展.

有什么建议?

*我不想将光标移动到绝对坐标,以防应用程序的布局发生变化.维基百科的这句话解释了为什么:

回归测试也成为GUI的问题.这是因为GUI可能会在应用程序的各个版本之间发生显着变化,即使底层应用程序可能不会.设计为遵循通过GUI的特定路径的测试可能无法遵循该路径,因为按钮,菜单项或对话可能已经改变了位置或外观.

windows delphi scripting automated-tests

8
推荐指数
3
解决办法
6462
查看次数

Windows GUI EXE的最佳脚本语言

我正在编写一个简单的基于WMI的监视器应用程序,它通过TCP网络套接字将监视数据发送到Android应用程序.我没有用Titanium Mobile(JavaScript)编写Android应用程序的问题,因此它创建了一个套接字并接受数据.但是,我正在寻找获得WMI数据并通过TCP套接字发送它的最佳(最简单和最快)的方法,但是使用非常基本的Windows GUI.GUI的唯一原因是用户知道软件正在运行,并且他们可能会在这里输入IP以通过wifi连接到android.到目前为止,这是我的情况:

  • PHP和JavaScript是我最强的语言(作为Web开发人员).我可以用PHP编写WMI/COM脚本,并使用Bamcompile编译到Windows命令行EXE.它只支持PHP4,我不确定哪个GUI工具包(如果有的话)可以使用它,因为它已经很老了,但我仍然更喜欢它用于我的基本Windows内容.
  • 我一直在玩Perl(Strawberry Perl)并意识到它的潜力.但是看到我的主要编程PC在代理上,我在安装Tk时遇到了麻烦,所以再次我没有GUI的东西.我已经尝试过"ppm install Tk"和"cpan Tk",并且已经输入了我的所有代理详细信息,它甚至下载了大量的数据/模块,但是我遇到了错误,我不知道如何解决,因为我不是还有一个Perl人.
  • 我已经尝试过WinBinder for PHP并双击Windows .phpw文件似乎工作,但我必须以某种方式打包整个事情,并且后台的命令提示符窗口看起来很乱.
  • 我可以使用AutoIT 3 - 它可以使用GUI,套接字,所有类型的东西,并编译为EXE,但我真的更喜欢PHP或Perl的学习体验,我只是更习惯他们的语法.
  • Python看起来很棒但与PHP或Perl略有不同,所以我现在不打算花时间学习它.虽然因为它似乎有一个非常有趣的结构,但可能会转向它.

我想我面临的主要问题是我可以为PHP编写这个应用程序而只是编写Bamcompile但是我需要获取用户输入并让他们知道某些东西正在运行.我还假设使用像Wapache这样的东西来显示没有工具栏的Web浏览器是行不通的,因为PHP必须在连续循环中运行并且会使任何"浏览器"崩溃?这会有用吗?

set_time_limit( 0 ); // 0 means never timeout

ignore_user_abort(true); // continue running when browser closes
Run Code Online (Sandbox Code Playgroud)

那么任何想法?Jscript和JSC?

请记住,我不想学习任何Microsoft .Net的东西或复杂的C语言或Java.

我确信我可以用我目前的PHP/JavaScript技能做这样的事情吗?没有?

php sockets perl wmi

8
推荐指数
1
解决办法
1843
查看次数

创建网络图

我以CSV格式设置的样本数据如下所示.

无向图具有90个节点,用数字{10,11,12 ...... 99}表示,其权重边缘定义如下.

[样本数据]

node1 node2 weight
23     89    34.9  (i.e. there is an edge between node 23 and 89 with weight 34.9)
75     14    28.5
so on....
Run Code Online (Sandbox Code Playgroud)

我想以网络形式表示这一点.表示它的有效方法是什么(例如Gephi,networkx等).边缘的厚度应代表边缘重量.

graph social-networking

8
推荐指数
3
解决办法
5095
查看次数

Gephi和NetworkX为同一图形返回不同的平均聚类系数

我使用Gephi和NetworkX计算了平均聚类系数.对于同一图表,NetworkX给出0.2399而Gephi给出0.644.

  1. 它为什么不同?
  2. NetworkX和Gephi如何计算平均聚类系数?
  3. 在具体断开组件的情况下; NetworkX和Gephi如何计算系数?

graph-theory networkx gephi

8
推荐指数
1
解决办法
822
查看次数

SQLITE 使用 ORDER BY 非常慢

我有一个简单的查询,例如

SELECT * FROM "mytable" where col1="foo"
Run Code Online (Sandbox Code Playgroud)

大约 0.5 秒内即可解析(700 MB 数据库文件的约 100'000 行的约 100 个结果)

然而,我一添加就ORDER BY需要120秒。

SELECT * FROM "mytable" where col1="foo" ORDER BY col2
Run Code Online (Sandbox Code Playgroud)

即使我像这样限制结果

SELECT * FROM (SELECT * FROM "mytable" where col1="foo" LIMIT 1) ORDER BY col2
Run Code Online (Sandbox Code Playgroud)

尽管实际上没有什么可排序的,但它需要 120 秒。

唯一的例外是如果我使用ORDER BY rowid(而不是ORDER BY col2)排序,或者当我这样做时(0.5秒):

SELECT * FROM "mytable" WHERE rowid IN (SELECT rowid FROM "mytable"  WHERE col1="foo") ORDER BY col2
Run Code Online (Sandbox Code Playgroud)

VACUUM检查了数据库并检查了数据库的完整性(好的),但这个问题仍然存在。我正在使用 SQLite 版本:3.7.7.1,速度下降出现在 phpLITEadmin 和我的 PHP …

database sqlite sorting performance

8
推荐指数
1
解决办法
3273
查看次数

OpenPyXL 中用于列宽的单位是什么?

单位文档没有回答我的问题。

显然它是基于 OOXML 测量,但我不确定,因为行高和列宽的测量不一样,上面的链接说:"The main unit in OOXML is a twentieth of a point."。所以这不可能是真的。我尝试拍摄一些数字并使用 LibreOffice Calc 查看,但没有任何结果:

self.worksheet.column_dimensions['B'].width = 60
self.worksheet.row_dimensions[1].height = 4
Run Code Online (Sandbox Code Playgroud)

我发现行以磅为单位,但列宽给出:

pt 333.35
pc 27.78 
4.63 "
cm 11.76
Run Code Online (Sandbox Code Playgroud)

python openpyxl

8
推荐指数
1
解决办法
3796
查看次数

无法使用请求登录 Instagram

我正在尝试使用requests库登录 Instagram 。我成功地使用了以下脚本,但是它不再起作用了。密码字段被加密(手动登录时检查开发工具)。

我试过了 :

import re
import requests
from bs4 import BeautifulSoup

link = 'https://www.instagram.com/accounts/login/'
login_url = 'https://www.instagram.com/accounts/login/ajax/'

payload = {
    'username': 'someusername',
    'password': 'somepassword',
    'enc_password': '',
    'queryParams': {},
    'optIntoOneTap': 'false'
}

with requests.Session() as s:
    r = s.get(link)
    csrf = re.findall(r"csrf_token\":\"(.*?)\"",r.text)[0]
    r = s.post(login_url,data=payload,headers={
        "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36",
        "x-requested-with": "XMLHttpRequest",
        "referer": "https://www.instagram.com/accounts/login/",
        "x-csrftoken":csrf
    })
    print(r.status_code)
    print(r.url)
Run Code Online (Sandbox Code Playgroud)

我发现使用开发工具:

username: someusername
enc_password: #PWD_INSTAGRAM_BROWSER:10:1592421027:ARpQAAm7pp/etjy2dMjVtPRdJFRPu8FAGILBRyupINxLckJ3QO0u0RLmU5NaONYK2G0jQt+78BBDBxR9nrUsufbZgR02YvR8BLcHS4uN8Gu88O2Z2mQU9AH3C0Z2NpDPpS22uqUYhxDKcYS5cA==
queryParams: {"oneTapUsers":"[\"36990119985\"]"}
optIntoOneTap: false
Run Code Online (Sandbox Code Playgroud)

如何使用请求登录 Instagram?

python beautifulsoup python-3.x instagram

8
推荐指数
3
解决办法
3522
查看次数

条件必须具有 bool 静态类型

有什么方法可以在这种情况下使用未来的布尔值,或者有更好的方法吗?

Widget _buildRow(String pair) {
    final Future<bool> alreadySaved = DBHelper.getAllEmployees().then((value) => value.contains(pair));
    print("Already saved $alreadySaved");
    print(pair);
    return FutureBuilder(
        future: DBHelper.getAllEmployees(),
        builder: (context, AsyncSnapshot<List<FavrtTableModel>> snapshot) =>
        snapshot.connectionState == ConnectionState.waiting ? Center(
            child: Icon(Icons.more_horiz),
        ):IconButton(
            icon: new  Icon(
                alreadySaved ? Icons.favorite : Icons.favorite_border,
                color:alreadySaved? Colors.red : Colors.white,
            ),onPressed: (){
                setState(() {
                    if (alreadySaved) {
                        _saved.remove(pair);
                        _deleteEmployee(pair);
                    } else {
                        _saved.add(pair);
                        _insert(pair);
                    }
                });
            },
        ),
    );
}
Run Code Online (Sandbox Code Playgroud)

sqlite dart flutter flutter-futurebuilder

8
推荐指数
1
解决办法
3万
查看次数

继续下一行的命令

有没有办法在新线路上继续命令?我的MsgBox()函数调用很长,为了便于阅读,我想做这样的事情:

$confirm = MsgBox(321, "Check Information", "Confirmation Number:     " & @LF &
                                            "Amount:                  $")
Run Code Online (Sandbox Code Playgroud)

这将返回语法错误,并指向第一行的末尾作为错误的位置.

autoit

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