小编San*_*hit的帖子

WebDriver - 使用Java等待元素

我正在寻找类似于waitForElementPresent检查元素是否在我点击之前显示的东西.我认为这可以通过implicitWait,所以我使用以下内容:

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)

然后单击

driver.findElement(By.id(prop.getProperty(vName))).click();
Run Code Online (Sandbox Code Playgroud)

不幸的是,有时它等待元素,有时候不等.我找了一会儿找到了这个解决方案:

for (int second = 0;; second++) {
            Thread.sleep(sleepTime);
            if (second >= 10)
                fail("timeout : " + vName);
            try {
                if (driver.findElement(By.id(prop.getProperty(vName)))
                        .isDisplayed())
                    break;
            } catch (Exception e) {
                writeToExcel("data.xls", e.toString(),
                        parameters.currentTestRow, 46);
            }
        }
        driver.findElement(By.id(prop.getProperty(vName))).click();
Run Code Online (Sandbox Code Playgroud)

它等了很久,但在超时前它必须等待5次,50秒.有点多.所以我把隐式等待设置为1秒,直到现在一切都好了.因为现在有些事情在超时之前等待10秒,但是其他一些事情在1秒之后会超时.

您如何覆盖代码中存在/可见元素的等待?任何提示都很明显.

java webdriver selenium-webdriver

73
推荐指数
3
解决办法
19万
查看次数

Firebase云消息传递最后没有收到collapse_key(速率有限?)

我有一项服务,使用Firebase云消息传递使用带参数集的FCM数据消息与其Android客户端进行通信collapse_key.从有关可折叠键的文档:

当有较新的消息呈现较旧的线程时,相关消息与客户端应用程序无关,FCM将替换旧消息.例如,发送到同步或过时的通知消息.

这就是我要找的东西.我不需要所有更新,只需要最后一个.但是,如果用户在线,我需要尽快.


但是,我得到一个奇怪的速率限制,不会导致任何HTTP错误代码.它很容易重现,只需要连续20条数据消息并监控android FirebaseMessagingService.onMessageReceived:

for i in {1..20}; do 
  curl -v -X POST --header "Authorization: key=$SERVER_KEY" \
       --Header "Content-Type: application/json" \
       https://fcm.googleapis.com/fcm/send \
       -d "{\"to\":\"$CLIENT_TOKEN\", \
            \"data\":{\"counter\":\"$i\"}, \
            \"priority\":\"high\", \
            \"collapse_key\": \"test\" \
           }"
done
Run Code Online (Sandbox Code Playgroud)

上面的bash脚本有点难以阅读,但我有一个counter我感兴趣的变量.

收到一些消息后(counter=~10)它会停止,您需要切换网络状态以获取最后一条消息counter=20.最后一条消息也会在几分钟(通常约10分钟)后出现,此时请求进行火力登记(?).

collapse_key从上面的curl命令中删除会导致收到所有20条消息(其中counter={1..20}).


所以,问题是:这是一个错误吗?或者我关闭(/率限制),因为我"滥用"界面(因为所有请求都发回一个200响应,我以为我没事).

android firebase firebase-cloud-messaging

48
推荐指数
1
解决办法
1357
查看次数

Android应用程序启动更新与cordova-webintent并强制停止

步骤: 1)打开Android应用程序(内置cordova)

2)然后我呼吁cordova-webintent安装更新 https://github.com/Initsogar/cordova-webintent

3)我按下Install并开始安装,但几秒后app强制停止并关闭而不是安装并打开更新的应用程序.

这个问题出现在前一段时间,我无法理解为什么会发生这种情况,因为同一版本的cordova-webintentcordova.

4)应用程序强制停止后,我点击应用程序图标,但是有一条消息"未安装应用程序".几秒后,应用程序继续在后台安装.我再次点击应用程序图标,打开更新的应用程序.

请帮助修复安装时app force stop的问题.

日志:

E:\ work\hello1> adb logcat ActivityManager:我com.example.hello1:D*:S

---------系统的开头

I/ActivityManager(715):[后台服务优先级调整]将service.getFlags()的callerFg设置为false:260

I/ActivityManager(715):START u0 {act = android.intent.action.VIEW dat = file:///storage/emulated/0/filename1.apk typ = application/vnd.android.package-archive cmp = com.来自uid 10657的android.packageinstaller/.PackageInstallerActivity}显示0

---------主要的开始

I/ActivityManager(715):从uid 10072上显示0 I/ActivityManager START u0 {dat = file:///storage/emulated/0/filename1.apk cmp = com.android.packageinstaller/.InstallAppProgress(has extras)} (715):[AppLaunch]显示显示的com.android.packageinstaller/.InstallAppProgress:+ 135ms

I/ActivityManager(715):强制停止com.example.hello1 appid = 10657 user = -1:uninstall pkg

I/ActivityManager(715):Killing 19149:com.example.hello1/u0a657(adj 1):stop com.example.hello1

W/ActivityManager(715):通知应用程序开关退出packageName = com.example.hello1 I/ActivityManager(715):强制完成活动ActivityRecord {16a2ad7e u0 com.example.hello1/.MainActivity t2758}

I/ActivityManager(715):强制完成活动ActivityRecord {32eb6933 u0 com.android.packageinstaller/.InstallAppProgress …

android install updates cordova webintents

34
推荐指数
1
解决办法
804
查看次数

Tensorflow文档

我对Tensorflow文档越来越感到烦恼和沮丧.我在谷歌搜索有关的文档

tf.reshape
Run Code Online (Sandbox Code Playgroud)

我正被定向到这里的通用页面.我想查看tf.reshape文档的详细信息,而不是整个文档.

我在这里做错了吗?

tensorflow

32
推荐指数
2
解决办法
4413
查看次数

端点API - protorpc验证错误

protorpc当我使用端点时,我会收到一些奇怪的错误.在这段代码中:

class Application(EndpointsModel):

    _message_fields_schema = ('id', 'name')

    created = ndb.DateTimeProperty(auto_now_add=True)
    name = ndb.StringProperty()
    roles = ndb.IntegerProperty(repeated=True)
    updated = ndb.DateTimeProperty(auto_now=True)
    owner = ndb.KeyProperty(kind='User')

@API.api_class(resource_name="application")
class ApplicationApi(protorpc.remote.Service):

    @Application.method(http_method="GET",
                        request_fields=('id',),
                        name="get",
                        path="applications/{id}")
    def ApplicationGet(self, instance):
        if not instance.from_datastore:
            raise endpoints.NotFoundException("Application not found.")
        return instance

    @Application.query_method(http_method="GET",
                              query_fields=('limit', 'order', 'pageToken'),
                              name="list",
                              path="applications")
    def ApplicationList(self, query):
        return query
Run Code Online (Sandbox Code Playgroud)

当我调用application.get()错误时如下:( 完全跟踪):

TypeError:只能从确切类型为Application的实体进行复制.收到了一个Application实例.

并且调用application.list()错误如下:( 完全跟踪):

ValidationError:<class '.Application'>找到的字段项的预期类型<Application name: u'test'>(类型<class '.Application'>)

可能是什么导致了这个?我的其他模型具有几乎相同的代码(只是不同的属性)工作正常.

python google-app-engine protorpc google-cloud-endpoints endpoints-proto-datastore

30
推荐指数
1
解决办法
801
查看次数

Azure Cloud Service诊断输出已更改为2.6 SDK

将SDK升级到Azure Cloud Service Diagnostic 2.6后,所有WAD跟踪日志都开始如下所示:

EventName="FormattedMessageEvent" FormattedMessage="Subscription {0} Already Created" Argument0="sub2feature-staging" TraceSource="w3wp.exe"
Run Code Online (Sandbox Code Playgroud)

以前用它来写出来 "Subscription sub2feature-staging Already Created" TraceSource="w3wp.exe"

这是我可以配置的吗?看起来很多消息已从信息转移到冗长.

它可能是我的日志提供程序和Azure Cloud Service Diagnostic 2.6中完成的一些更改的组合.

sdk azure azure-diagnostics

26
推荐指数
1
解决办法
528
查看次数

如何在光面3.0中将Rep [T]转换为T?

我使用了一个由光滑的代码生成器生成的代码.

我的表有超过22列,因此它使用 HList

它生成1种类型和1种功能:

type AccountRow
def AccountRow(uuid: java.util.UUID, providerid: String, email: Option[String], ...):AccountRow
Run Code Online (Sandbox Code Playgroud)

如何从生成的代码中编写编译的插入代码?

我试过这个:

val insertAccountQueryCompiled = {

def q(uuid:Rep[UUID], providerId:Rep[String], email:Rep[Option[String]], ...) = Account += AccountRow(uuid, providerId, email, ...)

Compiled(q _)
}
Run Code Online (Sandbox Code Playgroud)

我需要转换Rep[T]TAccountRow功能工作.我怎么做?

谢谢

slick slick-3.0

23
推荐指数
1
解决办法
865
查看次数

cabal:如何自动更新.cabal文件中的build-depends字段?

有没有办法自动更新.cabal文件中build-depends字段?例如,如果我们从以下文件开始:.cabal

name:           HUnit
version:        1.1.1
synopsis:       A unit testing framework for Haskell
homepage:       http://hunit.sourceforge.net/
category:       Testing
author:         Dean Herington
license:        BSD3
license-file:   LICENSE
cabal-version:  >= 1.10
build-type:     Simple

library
  build-depends:      base >= 2 && < 4
  exposed-modules:    Test.HUnit.Base, Test.HUnit.Lang,
                      Test.HUnit.Terminal, Test.HUnit.Text, Test.HUnit
  default-extensions: CPP
Run Code Online (Sandbox Code Playgroud)

然后,安装一个包:

cabal install warp
Run Code Online (Sandbox Code Playgroud)

现在,我必须添加warp >=3.0 && <3.1到该build-depends字段,使文件看起来像这样:

name:           HUnit
version:        1.1.1
synopsis:       A unit testing framework for Haskell
homepage:       http://hunit.sourceforge.net/
category:       Testing
author:         Dean Herington
license: …
Run Code Online (Sandbox Code Playgroud)

haskell cabal

20
推荐指数
1
解决办法
1227
查看次数

Shopify - 使用Shopify API的新订单 - 如何了解税收和运费?

我们已经构建了一个电子商务Web应用程序(Node后端,Vue前端).我们使用Stripe处理付款,但许多品牌已经询问我们是否可以在Shopify中完成订单和库存控制.我们正在努力找出将支付模块集成到Shopify的最佳方式,以便品牌可以通过Shopify管理履行和库存.

我们似乎应该使用Order API来创建订单并将其标记为已付款.但是我们怎么知道产品有库存,Shopify在创建订单时的运费和税费是多少?我认为我们可以使用Product API来获取库存水平,但运输和税收端点在哪里?

如果我正确理解订单API,我们需要告知Shopify创建新订单时的运费和税费.是对的吗?我们怎么可能知道这些数字?似乎应该有一个终点来计算运费和获得产品的税率,以便我们可以将这些数字传回订单API.我错过了什么吗?

我想也许我们应该创建一个financial_status: pending首先获得运费和税率的订单(它甚至会给你那些?),然后将订单更新为cancel_reason: customer或者cancel_reason: inventory如果这些费用太贵而且订单被拒绝了?但是我们当然需要知道客户可以使用哪些送货方式才能告诉Shopify使用哪一种,对吧?或者默认情况下在创建订单时选择最便宜的一个?

笔记:

  • 我们知道客户的送货地址
  • 我们不知道产品存放在哪里(我认为Shopify)
  • 我们不知道产品的重量或尺寸(我认为Shopify)

shipping shopify tax

20
推荐指数
1
解决办法
596
查看次数

如何使用.wav文件模拟麦克风的音频输入

我的目标是.wav在模拟器中使用文件替代麦克风输入.该.wav文件必须由Android模拟器中的语音记录器识别和处理.

我想通过从.wav文件中提供语音命令来测试语音记录器,就像应用程序通过麦克风输入接收它们一样.

这可能吗?

audio android voice microphone wav

19
推荐指数
0
解决办法
1844
查看次数