我自动化wifi呼叫的测试程序,我想知道有没有办法通过adb关闭/开启wifi?
我想要禁用/启用wifi或杀死wifi呼叫(com.movial.wificall)并重新启动它.
是否可以通过adb和shell命令执行此操作?
到目前为止,我发现:
android.net.wifi.WifiManager
setWifiEnabled(true/false)
Run Code Online (Sandbox Code Playgroud)
我只是不确定如何把它放在一起
这似乎是一个非常简单的问题,但我无法在任何地方找到答案.我想我觉得我在VB很不错,但有一天我在学习javascript时发现了一些看似很棒的东西,现在我无法弄清楚如何在VB中做到这一点.
在javascript中它看起来像这样:
var someValue = getThatValue()
它都是从getThatValue()子句调用和设置值.什么是VB等价物?
我试过这样做:
private sub main()
dim value = getValue()
'do something with value
end sub
private sub getValue()
return 3
end sub
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,我怎么能让它工作?
我觉得这是可能的,我只是不太确定信息的位置.
我想获取特定应用程序的上/下统计信息,但我想使用ADB而不是wireshark或netty来完成.
我知道我可以看到vmData使用
adb shell
cd proc
cd pid#
cat status
Run Code Online (Sandbox Code Playgroud)
我知道我可以看到netstats使用:
ADB Shell dumpsys netstats details full
Run Code Online (Sandbox Code Playgroud)
这给了我这些结果:
Dev stats:
Pending bytes: 1410076
Complete history:
ident=[[type=MOBILE, subType=COMBINED, subscriberId=310260...]] uid=-1 set=ALL tag=0x0
NetworkStatsHistory: bucketDuration=3600000
bucketStart=1349211600000 activeTime=3600000 rxBytes=19656154 rxPackets=16897 txBytes=615620 txPackets=8084 operations=0
bucketStart=1349215200000 activeTime=3600000 rxBytes=28854708 rxPackets=23363 txBytes=1037409 txPackets=12206 operations=0
bucketStart=1349218800000 activeTime=3600000 rxBytes=1839274 rxPackets=1565 txBytes=89791 txPackets=914 operations=0
bucketStart=1349222400000 activeTime=3600000 rxBytes=17421 rxPackets=88 txBytes=18376 txPackets=95 operations=0
bucketStart=1349226000000 activeTime=3600000 rxBytes=506966 rxPackets=788 txBytes=96491 txPackets=859 operations=0
Run Code Online (Sandbox Code Playgroud)
不幸的是,这看起来像一个组合的netstat,不区分应用程序.
所以我的问题是,通过简单地使用命令提示符,有没有办法通过唯一的PID#或应用程序名称来查看网络流量?
编辑
好吧,我取得了一些进展
有了这段代码
adb shell cat proc/1638(thePID)/net/dev > C:\netstats.txt …Run Code Online (Sandbox Code Playgroud) 我正在做一些内存测试,我在研究中遇到了procstats - 在我开始使用它之前,虽然我想在开始依赖它的数据之前完全理解所有内容.
这是我正在尝试使用的精简文件:
CURRENT STATS:
* com.samsung.android.providers.context / u0a6:
TOTAL: 100% (4.2MB-4.2MB-4.2MB/3.3MB-3.3MB-3.3MB over 1)
Service: 100% (4.2MB-4.2MB-4.2MB/3.3MB-3.3MB-3.3MB over 1)
* com.sec.android.inputmethod / 1000:
TOTAL: 100% (28MB-28MB-28MB/27MB-27MB-27MB over 2)
Imp Fg: 100% (28MB-28MB-28MB/27MB-27MB-27MB over 2)
* com.google.android.googlequicksearchbox / u0a54:
TOTAL: 0.05%
Imp Bg: 0.05%
(Cached): 100% (4.8MB-4.9MB-5.0MB/3.2MB-3.3MB-3.4MB over 2)
* com.google.android.talk / u0a98:
TOTAL: 0.03%
Imp Bg: 0.03%
Receiver: 0.00%
(Cached): 100% (8.8MB-8.8MB-8.8MB/7.4MB-7.4MB-7.4MB over 2)
(Home): 100% (20MB-20MB-20MB/18MB-18MB-18MB over 1)
Run time Stats:
SOff/Norm: +24m36s393ms (running)
TOTAL: +24m36s393ms
Start time: …Run Code Online (Sandbox Code Playgroud) 我一整天都在修补这里和这里的解决方案:
但它不像我想象的那样工作.
我有一个程序,我在过去的6个月里一直在努力,我只是将其中一个功能发给了另一个开发Python工作的开发人员.
我想要做的是使用他的脚本,而不必让用户下载和安装python.
我认为这个问题是1个python脚本调用其他14个python脚本来完成各种任务.
所以我要问的是最好的方法是什么?
是否可以将15个脚本及其所有依赖项打包成1个我可以正常调用的exe文件?或者是否有另一种方法可以将初始脚本打包到exe中,而exe可以正常调用.py脚本?或者我应该只说f'它并在我的安装文件中包含一个python安装程序?
这适用于Python 2.7.6顺便说一句
这就是初始脚本调用其他脚本的方式.
import printSub as ps
import arrayWorker as aw
import arrayBuilder as ab
import rootWorker as rw
import validateData as vd
etc...
Run Code Online (Sandbox Code Playgroud)
如果这是你试图合并这些脚本,你会怎么做呢?
谢谢
所以我不得不在此之前回答过的问题在这里.但是,Flurry网站上的内容已经发生了变化,答案不再有效.
from bs4 import BeautifulSoup
import requests
loginurl = "https://dev.flurry.com/secure/loginAction.do"
csvurl = "https://dev.flurry.com/eventdata/.../..." #URL to get CSV
data = {'loginEmail': 'user', 'loginPassword': 'pass'}
with requests.Session() as session:
session.headers.update({
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36"})
soup = BeautifulSoup(session.get(loginurl).content)
name = soup.select_one("input[name=struts.token.name]")["value"]
data["struts.token.name"] = name
data[name] = soup.select_one("input[name={}]".format(name))["value"]
login = session.post(loginurl, data=data)
getcsv = session.get(csvurl)
Run Code Online (Sandbox Code Playgroud)
上面的代码在上个月运行良好,然后上周停止了工作.对于我的生活,我无法弄清楚网站上的变化.ID名称和令牌都看起来正确,用户名和通行证都没有改变.我不知所措.
如果我手动登录,我可以使用下载csv就好了csvurl.
login.histroy 说明:
[<Response [302]>, <Response [302]>, <Response [302]>, <Response [302]>, <Response [303]>]
Run Code Online (Sandbox Code Playgroud)
如果有人可以看看并弄清楚我哪里出错了,我会非常感激.
谢谢.
UPDATE
所以从新的登录地址,我看到帖子需要采用以下格式: …
我对Android的netstats及其报告方式提出了一个简单的问题.
通过在cmd中运行此代码: adb shell cat proc/net/xt_qtaguid/stats > C:\netstats.txt"
我得到一个看起来或多或少像这样的文件(为了问题我拿了片段):
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
44 wlan0 0x0 10123 0 45148 186 32150 265 45148 186 0 0 0 0 32150 265 0 0 0 0
45 wlan0 0x0 10123 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
46 wlan0 0x0 10138 0 19775 84 13625 …Run Code Online (Sandbox Code Playgroud) 这可能是一个更容易的问题,然后我正在制作它,但试图找出时间格式绝对是杀了我.
当我按下按钮时,我使用以下方式收集开始时间:
StartTime = DateTime.Now.ToString("hh.mm.ss.tt")
Run Code Online (Sandbox Code Playgroud)
然后,当计算完成后,我有:
EndTime = DateTime.Now.ToString("hh.mm.ss.tt")
Run Code Online (Sandbox Code Playgroud)
我想做的是:
TotalTime = EndTime - StartTime
Run Code Online (Sandbox Code Playgroud)
但要使用格式打印时间; "?#Hours,## Minutes,# Seconds"
听起来太简单了....
timenow = DateTime.Now
start = DateTime.Now
Dim totaltime As TimeSpan = (timenow - start)
xlWorkSheet201.Cells(3, 9) = "Total Test Time: " & Format(totaltime.Hours, "#0") & " Hours, " & Format(totaltime.Minutes, "#0") & "Minutes, & " & Format(totaltime.Seconds, "00") & "Seconds."
Run Code Online (Sandbox Code Playgroud) 我正在尝试用C#教自己lambda表达式,我似乎已经把自己弄糊涂了......
这基本上是我想要完成的,请假设ar1和ar2将始终具有相同的长度.
double sum = 0;
for(int x=0; x<size; x++){
sum += (ar1[x]*ar2[x]);
}
Run Code Online (Sandbox Code Playgroud)
请注意,数组正在成倍增加.
是否有Lambda函数可以在一行中完成此任务?
谢谢
我一整天都在做这件事,我真的需要朝正确的方向推动。
我的依赖是 -
"dependencies": {
"typescript": "^4.3.5",
"cypress": "^8.1.0",
"cypress-file-upload": "^5.0.8"
}
Run Code Online (Sandbox Code Playgroud)
我有一个名为uploadBlob.txt
这就是它的样子 -
------WebKitFormBoundary7BhOPSS0NpEAppSA
Content-Disposition: form-data; name="UploadedFileName"
Prod_CA.ACI
------WebKitFormBoundary7BhOPSS0NpEAppSA
Content-Disposition: form-data; name="OrderId"
7815968_13735
------WebKitFormBoundary7BhOPSS0NpEAppSA
Content-Disposition: form-data; name="Options[orderid]"
7815968_13735
------WebKitFormBoundary7BhOPSS0NpEAppSA
Content-Disposition: form-data; name="Options[clientcode]"
1135
------WebKitFormBoundary7BhOPSS0NpEAppSA
Content-Disposition: form-data; name="Options[vendorserviceurl]"
[... 80+ More Items ...]
------WebKitFormBoundary7BhOPSS0NpEAppSA--
Run Code Online (Sandbox Code Playgroud)
我想做的是这样的 -
Cypress.Commands.add("formRequest", (info: ReqInfo) => {
cy.readFile("./fixtures/uploadBlob.txt", "utf-8").then(fixture => {
const blob = Cypress.Blob.binaryStringToBlob(fixture, "application/text");
const formData = new FormData();
formData.append('file', blob, "uploadBlob.txt");
return cy.request({
url: info.url,
method: info.method,
headers: info.headers,
form: true, …Run Code Online (Sandbox Code Playgroud) 自从我开始我的项目以来,我遇到了这两个错误:
"A reference was created to embedded interop assembly 'stdole' because of an indirect reference to that assembly from assembly 'AxInterop.MSComctlLib'. Consider changing the 'Embed Interop Types' property on either assembly."
和
A reference was created to embedded interop assembly 'stdole' because of an indirect reference to that assembly from assembly 'mscomctl'. Consider changing the 'Embed Interop Types' property on either assembly."
然后就在一秒钟之前,我开始收到此错误,现在我无法发布该程序.
"The referenced assembly "Microsoft.VisualBasic.PowerPacks, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" could not be resolved because it has a dependency …
adb ×4
android ×4
vb.net ×3
netstat ×2
python ×2
shell ×2
android-wifi ×1
c# ×1
cmd ×1
cypress ×1
exe ×1
executable ×1
flurry ×1
lambda ×1
memory ×1
python-2.7 ×1
python-3.x ×1
ram ×1
session ×1
typescript ×1