我如何 use/print TestCafe 中通用属性中的值
How do i use/print the value inside a generic attribute in TestCafe
我想要做的是 print/use Polyline 属性的值。
<Polyline points="x,y x,y x,y x,y">
我试过用这些方法得到它们:
这是一个实用函数
export const getPointAttribute = async () => {
const polyline = s.polyline;
const polylineData = ClientFunction(() => polyline().attributes, {
dependencies: { polyline }
});
return polylineData
}
这是在测试脚本里面
test('', async (t) => {
console.log(u.getPointAttribute())
}
或
test('', async (t) => {
console.log(s.polyline.getAttribute('points'));
}
并且我包括我的外部选择器
import * as s from '../utilities/selectors';
但我得到的只是控制台日志中输出的承诺
Promise { }
或
ReExecutablePromise { _then: [], _fn: [Function], _taskPromise: null }
感谢任何帮助!
您的 getPointAttribute
函数 returns polylineData
对象是 ClientFunction type 的一个实例(反过来,它基于 Promises)。这就是为什么当您登录 u.getPointAttribute()
时,您会收到这些消息。您需要做的就是在调用 ClientFunction 之前使用 await
关键字。请看下面的代码:
const polylineData = ClientFunction(() => polyline().attributes, {
dependencies: { polyline }
});
await polylineData();
参考以下文章获取更多信息https://devexpress.github.io/testcafe/documentation/test-api/obtaining-data-from-the-client/
我还想提一下,您不需要在 getPointAttribute
函数中使用 async
。
您应该在 console.log:
中等待呼叫
test('', async (t) => {
console.log(await s.polyline.getAttribute('points'));
}
或
test('', async (t) => {
console.log(await s.polyline.getAttribute('points'));
}
我已经设法让它与一个实用函数一起工作,供感兴趣的人使用。
export function getPoints(object: Selector) : Promise<string> {
return object.getAttribute('points');
}
这样可以更轻松、更清晰地处理数据。
import * as u from '../utilities/functions';
import * as s from '../utilities/selectors';
console.log(await u.getPoints( s.polyline ));
感谢大家的帮助!
我想要做的是 print/use Polyline 属性的值。
<Polyline points="x,y x,y x,y x,y">
我试过用这些方法得到它们:
这是一个实用函数
export const getPointAttribute = async () => {
const polyline = s.polyline;
const polylineData = ClientFunction(() => polyline().attributes, {
dependencies: { polyline }
});
return polylineData
}
这是在测试脚本里面
test('', async (t) => {
console.log(u.getPointAttribute())
}
或
test('', async (t) => {
console.log(s.polyline.getAttribute('points'));
}
并且我包括我的外部选择器
import * as s from '../utilities/selectors';
但我得到的只是控制台日志中输出的承诺
Promise { }
或
ReExecutablePromise { _then: [], _fn: [Function], _taskPromise: null }
感谢任何帮助!
您的 getPointAttribute
函数 returns polylineData
对象是 ClientFunction type 的一个实例(反过来,它基于 Promises)。这就是为什么当您登录 u.getPointAttribute()
时,您会收到这些消息。您需要做的就是在调用 ClientFunction 之前使用 await
关键字。请看下面的代码:
const polylineData = ClientFunction(() => polyline().attributes, {
dependencies: { polyline }
});
await polylineData();
参考以下文章获取更多信息https://devexpress.github.io/testcafe/documentation/test-api/obtaining-data-from-the-client/
我还想提一下,您不需要在 getPointAttribute
函数中使用 async
。
您应该在 console.log:
中等待呼叫test('', async (t) => {
console.log(await s.polyline.getAttribute('points'));
}
或
test('', async (t) => {
console.log(await s.polyline.getAttribute('points'));
}
我已经设法让它与一个实用函数一起工作,供感兴趣的人使用。
export function getPoints(object: Selector) : Promise<string> {
return object.getAttribute('points');
}
这样可以更轻松、更清晰地处理数据。
import * as u from '../utilities/functions';
import * as s from '../utilities/selectors';
console.log(await u.getPoints( s.polyline ));
感谢大家的帮助!