Учитывая, сколько времени (человеко-час) я потратил на то, чтобы мой встроенный адаптер Bluetooth работал на Linux, я решил, что дешевле и быстрее купить USB-адаптер, который действительно работает на Linux. Итак, я вышел домой с ноутбуком, протестировал USB-адаптер и купил его. Это действительно мало и дешево, мне стоило R $ 30,00 (что-то между 9 и 10 долларами, согласно сегодняшним обменным курсам). Он способен передавать файлы и воспроизводить музыку. Его пакет говорит о версии Bbbage Bluetooth версии 3.0 BM-BT01, она была сделана в Китае. На lsusb он отображается как Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode):
# lsusb
Bus 003 Device 002: ID 8087:8001 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 003: ID 1bcf:2c81 Sunplus Innovation Technology Inc.
Bus 001 Device 011: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
# usb-devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh=11
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.11
S: Manufacturer=Linux 4.11.4-1.gcba98ee-default xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 11 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=16 #Cfgs= 1
P: Vendor=0a12 ProdID=0001 Rev=01.34
C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
T: Bus=01 Lev=01 Prnt=01 Port=06 Cnt=02 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1bcf ProdID=2c81 Rev=00.05
S: Manufacturer=NC2141103M50708908LM05
S: Product=HD WebCam
C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I: If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
T: Bus=01 Lev=01 Prnt=01 Port=07 Cnt=03 Dev#= 4 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1
P: Vendor=0bda ProdID=0129 Rev=39.60
S: Manufacturer=Generic
S: Product=USB2.0-CRW
S: SerialNumber=20100201396000000
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=50 Driver=rtsx_usb
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 4
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=04.11
S: Manufacturer=Linux 4.11.4-1.gcba98ee-default xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.11
S: Manufacturer=Linux 4.11.4-1.gcba98ee-default ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=0000:00:1d.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 8
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=8087 ProdID=8001 Rev=00.03
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
Он не работает безупречно, как я думаю, это должно быть. Сопряжение работает на основе проб и ошибок, но как только устройства сопрягаются, они работают так, как ожидалось. По крайней мере, теперь у меня есть адаптер Bluetooth, который работает на Linux.
В любом случае, я благодарен за потраченное время, пытаясь помочь мне и дать мне указания. Спасибо!
Cypress содержит файл внешней библиотеки, расположенный по умолчанию в (path to project)/support/index.js.
Этот файл включен во все тестовые файлы, поэтому вы можете разместить здесь общий код.
[ ! d2]Вы также можете включить другие файлы в папку support со следующим кодом в index.js:
import './MySupportFile.js'
При включении внешнего тестового файла , простые определения функций, похоже, не переносятся. Я не совсем уверен, почему. Вставка функций в объект cy сработала для меня:
cy.myFunction = greeting => {
console.log(greeting);
};
cy.myNamespace = {};
cy.myNamespace.myNamespacedFunction = () => {
console.log("hi");
};
Эти функции в объекте cy будут перенесены в любые файлы /integration, которые у вас есть.